问题列表 - 第26314页

如何检查派生类中对象的类型名称?

这是我的代码:

class Base { /* something */ };
class Derived : public Base { /* something */ };
vector<Base*> v; // somebody else initializes it, somewhere
int counter = 0; 
for (vector<Base*>::iterator i=v.begin(); i!=v.end(); ++i) {
  if (typeof(*i) == "Derived") { // this line is NOT correct
    counter++;
  }
}
cout << "Found " << counter << " derived classes";
Run Code Online (Sandbox Code Playgroud)

代码中的一行不正确.我该怎么写得好呢?提前谢谢了!

c++

0
推荐指数
2
解决办法
484
查看次数

没有参数的函数,在scala中将unit作为参数

 def foo(x:Int, f:Unit=>Int) = println(f())

foo(2, {Unit => 3+4}

//case1
def loop:Int = 7
foo(2, loop) //does not compile

changing loop to 
//case 2
def loop():Int = 7
foo(2, loop) // does not compile

changing loop to
//case 3
def loop(x:Unit): Int = 7 //changing according to Don's Comments
foo(2,loop) // compiles and works fine
Run Code Online (Sandbox Code Playgroud)

案件1和案例2也不行吗?他们为什么不工作?

将foo定义为

def foo(x:Int, y:()=>Int)
Run Code Online (Sandbox Code Playgroud)

案例2有效但案例1无效.

他们都不应该工作,无论如何定义功能.

//也是我认为()=>在foo中的Int是一个糟糕的样式,y:=> Int不起作用,评论??

scala

33
推荐指数
2
解决办法
2万
查看次数

查找工作Dojo TreeGrid小部件的示例和来源

有人知道dojox.grid.TreeGrid小部件源的一些工作示例吗?关于DojoCampus的文档没有示例,夜间测试没有源代码.

据说,这是在Dojo 1.4中集中的,但我无法让它工作.

dojo dojox.grid

3
推荐指数
1
解决办法
1万
查看次数

什么是PTS参考视频编码?

有人可以简要解释一下PTS在视频编码方面的含义吗?

ffmpeg pts video-encoding

17
推荐指数
1
解决办法
1万
查看次数

Codeigniter:从多个表中选择

如何从两个或多个表中选择行?

我正在为表单设置默认字段,我需要来自两个表的值...

我目前的代码是:

    $this->CI->db->select('*');
    $this->CI->db->from('user_profiles');
    $this->CI->db->where('user_id' , $id);
    $user = $this->CI->db->get();
    $user = $user->row_array();
    $this->CI->validation->set_default_value($user);
Run Code Online (Sandbox Code Playgroud)

activerecord select codeigniter

7
推荐指数
3
解决办法
6万
查看次数

这是C#4中动态绑定的漏洞吗?

我在Fabio Maulo的博客上看过一篇非常有趣的帖子.如果您不想跳转到网址,这是代码和错误.我定义了一个新的泛型类,如下所示:

public class TableStorageInitializer<TTableEntity> where TTableEntity : class, new()
    {
        public void Initialize()
        {
            InitializeInstance(new TTableEntity());
        }

        public void InitializeInstance(dynamic entity)
        {
            entity.PartitionKey = Guid.NewGuid().ToString();
            entity.RowKey = Guid.NewGuid().ToString();
        }

    }
Run Code Online (Sandbox Code Playgroud)

请注意,InitializeInstance接受一个参数,该参数的类型为dynamic.现在要测试这个类,我定义了另一个嵌套在我的主Program类中的类,如下所示:

class Program
        {
            static void Main(string[] args)
            {
               TableStorageInitializer<MyClass> x = new TableStorageInitializer<MyClass>();
                x.Initialize();
            }
            private class MyClass
            {
                public string PartitionKey { get; set; }
                public string RowKey { get; set; }
                public DateTime Timestamp { get; set; }
            }
        }
Run Code Online (Sandbox Code Playgroud)

注意:内部类"MyClass"被声明为私有.
现在,如果我运行此代码,我会在"entity.PartitionKey = Guide.NewGuid().ToString()"行中获得 …

c# dynamic

5
推荐指数
1
解决办法
711
查看次数

如何从Python中删除字符串末尾的逗号?

如何从字符串末尾删除逗号?我试过了

awk = subprocess.Popen([r"awk", "{print $10}"], stdin=subprocess.PIPE)
awk_stdin = awk.communicate(uptime_stdout)[0]
print awk_stdin
temp = awk_stdin
t = temp.strip(",")
Run Code Online (Sandbox Code Playgroud)

也尝试过t = temp.rstrip(","),两个都不行.


这是代码:

uptime = subprocess.Popen([r"uptime"], stdout=subprocess.PIPE)
uptime_stdout = uptime.communicate()[0]
print uptime_stdout

awk = subprocess.Popen([r"awk", "{print $11}"], stdin=subprocess.PIPE)
awk_stdin = awk.communicate(uptime_stdout)[0]
print repr(awk_stdin)
temp = awk_stdin
tem = temp.rstrip("\n")
logfile = open('/usr/src/python/uptime.log', 'a')
logfile.write(tem + "\n")
logfile.close()
Run Code Online (Sandbox Code Playgroud)

这是输出:

 17:07:32 up 27 days, 37 min,  2 users,  load average: 5.23, 5.09, 4.79

5.23,
None
Traceback (most recent call last):
  File …
Run Code Online (Sandbox Code Playgroud)

python string

3
推荐指数
2
解决办法
2万
查看次数

QT qmake降低了我的自定义小部件名称

我在Linux和Windows上使用QT 4.6,在Linux上,它坚持通过qscrollpane.h包含我的QScrollPane

App.pro:

HEADERS += widgets/QScrollPane.h 
Run Code Online (Sandbox Code Playgroud)

来自mainform.ui的部分

<widget class="QScrollPane" name="ListView">
 <property name="geometry">
  <rect>
   <x>0</x>
   <y>0</y>
   <width>500</width>
   <height>490</height>
  </rect>
 </property>
</widget>
Run Code Online (Sandbox Code Playgroud)

ui_mainform.h文件:

 #include <QtGui/QStatusBar>
 #include <QtGui/QTabWidget>
 #include <QtGui/QWidget>
 #include <qscrollpane.h>
Run Code Online (Sandbox Code Playgroud)

这在Windows或Mac上并不是什么大不了的事,但在Linux上它是彻头彻尾的烦人.我可以创建一个符号链接来解决问题,但我想找到根本原因.

问候,-Chris

c++ linux qt qt4

3
推荐指数
1
解决办法
142
查看次数

PHP 5.3改变了file_get_contents的工作方式吗?

PHP有一个奇怪的问题file_get_contents.

过去,file_get_contents无论返回的HTTP状态代码如何,在远程文件上都会返回该文件的文本.如果我点击API并且它发回状态为500的JSON错误信息,则file_get_contents给我JSON(没有迹象表明遇到了错误代码).

我刚刚建立了一个Ubuntu 10.04服务器,这是第一个拥有PHP 5.3的Ubuntu.当出现500错误时,PHP会抛出警告,而不是给我JSON.因此,我无法解析JSON并提供一个很好的错误消息.

很高兴PHP注意到远程文件中存在错误,但是如果出现500错误,我甚至需要 JSON(特别是!).似乎没有办法将其关闭.有没有遇到过这个?有小费吗?

php file-get-contents

3
推荐指数
1
解决办法
3793
查看次数

使用python多处理模块创建的子进程将无法打印

我有下面的代码的问题,以及print在子进程中使用该函数的任何代码.我看不到任何印刷的陈述,即使我用sys.std[err|out].write('worker')而不是print.

这是代码(来自官方python文档):

from multiprocessing import Process

def f(name):
    print 'hello', name

if __name__ == '__main__':
    p = Process(target=f, args=('bob',))
    p.start()
    p.join()
Run Code Online (Sandbox Code Playgroud)

输出为空白.

注意:以下代码使用线程模块并打印输出:

import threading

def f(name):
    print 'hello', name

if __name__ == '__main__':
    p = threading.Thread(target=f, args=('bob',))
    p.start()
    p.join()
Run Code Online (Sandbox Code Playgroud)

输出:hello bob

你能指点我解决方案吗?提前致谢.

python printing multiprocessing

18
推荐指数
3
解决办法
3万
查看次数