问题列表 - 第41525页

C++ ctors:在.cpp文件中使用初始化列表有什么意义?

C++有一个支持ctor的初始化列表的这个时髦的怪癖,例如:

class Foo
{
public:
  Foo(int x) : m_x(x) { }
private:
  SomeComplexObjectThatTakesAnIntForConstruction m_x;
}
Run Code Online (Sandbox Code Playgroud)

到目前为止有道理.更高效,因为成员只初始化一次,而不是默认构造,然后operator =稍后赋值.

但是我经常遇到那些将ctor放在他们的.cpp文件中的程序员,我几乎无法相信它实际上具有正确使用初始化列表的预期(有效)效果:

// Foo.cpp
Foo::Foo(int x) : m_x(x)
{
  // complex set of things needed to be done, or perhaps dependency-inducing references here...
}
Run Code Online (Sandbox Code Playgroud)

据我所知,上面不一定会为m_x生成一个构造,因为初始化列表在这个翻译单元之外是不可见的,并且会导致构造+赋值,不是吗?

// user.cpp
Foo my_foo(9);  // how can the ctor for m_x be effectively inlined here?
Run Code Online (Sandbox Code Playgroud)

或者我误解了初始化列表的功能如何?

感谢您对此的帮助;)


我选择将初始化列表和构造体分成两部分,例如:

class Foo
{
public:
  Foo(int x) : m_x(x) { Initialize(); }
private:
  void Initialize(); // defined in our .cpp thus isolating …
Run Code Online (Sandbox Code Playgroud)

c++ performance

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

Java中String的字符编码是什么?

我对Java中的字符串编码感到困惑.我有一些问题.如果您知道答案,请帮助我:

1)内存中Java字符串的本机编码是什么?我写的String a = "Hello"时候会存储哪种格式?由于Java与机器无关,我认为系统不会进行编码.

2)我在网上读到"UTF-16"是默认编码,但我感到困惑,因为我写的时候说int a = 'c'我得到了ASCII表中字符的编号.那么ASCII和UTF-16是一样的吗?

3)我还不确定内存中字符串的存储取决于:操作系统,语言?

java string character-encoding

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

PHP:如何使用键和值填充数组,因此1 = 1,2 = 2,3 = 3等

我希望做一些像(psuedo_code)

$myarray = fill_array_keys_and_values_from_parameter1_until_parameter2(18, 50);
Run Code Online (Sandbox Code Playgroud)

所以我得到了

$myarray= array(

'18' => '18',
'19' => '19',
...
'50' => '50'
)
Run Code Online (Sandbox Code Playgroud)

无需理想的for循环.有没有这样的PHP功能,我浏览了手册,但看不到我在找什么.

提前致谢

php arrays

14
推荐指数
1
解决办法
9224
查看次数

使用开源媒体服务器捕获Flash网络摄像头/麦克风

从Flash捕获视频需要一个媒体服务器,但它们似乎都没有任何可用的文档(甚至没有API文档或其他源代码注释).我更喜欢crtmpserver,因为我的应用程序是用C++编写的,它需要实时接收和处理捕获的数据.但是,Red5显然是一个更成熟,更知名的项目,所以我也考虑了这个选项.Adobe FMS太昂贵,可能很难与我的应用程序集成,因为Adobe从未提及过这样的用例.

据我所知,必须为媒体服务器编写一个"应用程序"(它们没有附带任何可用的东西),然后必须转发数据以进行实际处理.应用程序可以从媒体服务器获得什么样的数据,它是一个普通的FLV流还是还有更多的东西(带宽协商等)?

编写Flash方面不是问题,有很多例子(即使他们没有说明应该如何构建媒体服务器URL).

实际问题:服务器端如何工作(高级视图),是否有任何东西可以从实时捕获功能开始?

flash video-capture flash-media-server

9
推荐指数
1
解决办法
3640
查看次数

编译pthreads程序时出现问题

我尝试用这个命令编译这个简单的pthreads程序

$ gcc -pthread -o pthreads pthreads.c
Run Code Online (Sandbox Code Playgroud)
#include <stdio.h>
#include <pthread.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>

void *myThread(void *arg);

int main()
{
    pthread_t mythread;
    int ret;

    ret = pthread_create( &mythread, NULL, myThread, NULL );

    if (ret != 0){
        printf( "Can't create pthread: %s", strerror(errno));
        exit(-1);
    }
    return 0;
}

void *myThread(void *arg){

    // Thread code goes here..
    printf("OK! NOW ON THE THREAD\n");
    pthread_exit(NULL);
}
Run Code Online (Sandbox Code Playgroud)

但是在尝试./pthreads时没有输出!

c gcc pthreads

0
推荐指数
1
解决办法
3179
查看次数

SQLite,根据日期进行查询

我一直在寻找如何做到这一点,但我没有得到一个明确的答案(也许我的资源不是那么好).我需要创建一个SQLite查询来从SQLite DB中检索两个日期之间的数据.

我在尝试这个:

SELECT CONTACTNAME
FROM SHIPMENT 
WHERE DATECREATED 
BETWEEN date('11-15-2010') 
AND date('12-25-2010');
Run Code Online (Sandbox Code Playgroud)

数据在我的SQLite DB中:

CONTACTNAME=VARCHAR
DATECREATED=date (format: "11/22/2010")
Run Code Online (Sandbox Code Playgroud)

sql sqlite

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

在android中获取wifi ip的位置

是否有可能获取Android手机将连接的无线路由器的IP地址,并在应用程序中确定IP的相对位置?

ip android location

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

跟踪Javaws启动

我有一个通过Java Webstart启动的Java应用程序。有时,在重新部署应用程序之后,启动该应用程序会导致每次启动都将其下载两次。我还没有深入了解这个问题,但我认为它可能与我们的鱿鱼代理有关,后者似乎与Java交互不良。为了进一步研究这个问题,我想了解一下javaws在做什么。javaws是否有可用的此类选项?

只是一个小小的更新,如果将Java配置为显示控制台,则在将焦点放在控制台上时单击“ 5”会将日志记录级别设置为5,这是最详细的日志记录级别。这可能很有用,但不能解决应用程序无法做到这一点的情况。

java jnlp java-web-start

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

如何从Mac获得连接iPhone的充电状态?

在iTunes中,您可以看到当前连接的iPhone的充电状态:

iTunes的屏幕截图显示了带有指示费用状态的设备列表中的iPhone.

这会随着手机充电而更新,甚至会在手机充电时显示.

有没有办法可以通过Mac以编程方式发现充电状态?任何编程语言或API都可以.

iphone macos itunes command-line-interface

6
推荐指数
1
解决办法
638
查看次数

什么是Class对象(java.lang.Class)?

Java文档Class说:

ClassJava虚拟机在加载类时自动构造对象,并通过调用defineClass类加载器中的方法.

这些Class物品是什么?它们是否与通过调用从类实例化的对象相同new

另外,例如,即使我不继承,object.getClass().getName()如何将所有内容都转换为超类?Classjava.lang.Class

java inheritance class

72
推荐指数
4
解决办法
7万
查看次数