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) 我对Java中的字符串编码感到困惑.我有一些问题.如果您知道答案,请帮助我:
1)内存中Java字符串的本机编码是什么?我写的String a = "Hello"
时候会存储哪种格式?由于Java与机器无关,我认为系统不会进行编码.
2)我在网上读到"UTF-16"是默认编码,但我感到困惑,因为我写的时候说int a = 'c'
我得到了ASCII表中字符的编号.那么ASCII和UTF-16是一样的吗?
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功能,我浏览了手册,但看不到我在找什么.
提前致谢
从Flash捕获视频需要一个媒体服务器,但它们似乎都没有任何可用的文档(甚至没有API文档或其他源代码注释).我更喜欢crtmpserver,因为我的应用程序是用C++编写的,它需要实时接收和处理捕获的数据.但是,Red5显然是一个更成熟,更知名的项目,所以我也考虑了这个选项.Adobe FMS太昂贵,可能很难与我的应用程序集成,因为Adobe从未提及过这样的用例.
据我所知,必须为媒体服务器编写一个"应用程序"(它们没有附带任何可用的东西),然后必须转发数据以进行实际处理.应用程序可以从媒体服务器获得什么样的数据,它是一个普通的FLV流还是还有更多的东西(带宽协商等)?
编写Flash方面不是问题,有很多例子(即使他们没有说明应该如何构建媒体服务器URL).
实际问题:服务器端如何工作(高级视图),是否有任何东西可以从实时捕获功能开始?
我尝试用这个命令编译这个简单的pthreads程序
Run Code Online (Sandbox Code Playgroud)$ gcc -pthread -o pthreads pthreads.c
#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时没有输出!
我一直在寻找如何做到这一点,但我没有得到一个明确的答案(也许我的资源不是那么好).我需要创建一个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) 是否有可能获取Android手机将连接的无线路由器的IP地址,并在应用程序中确定IP的相对位置?
我有一个通过Java Webstart启动的Java应用程序。有时,在重新部署应用程序之后,启动该应用程序会导致每次启动都将其下载两次。我还没有深入了解这个问题,但我认为它可能与我们的鱿鱼代理有关,后者似乎与Java交互不良。为了进一步研究这个问题,我想了解一下javaws在做什么。javaws是否有可用的此类选项?
只是一个小小的更新,如果将Java配置为显示控制台,则在将焦点放在控制台上时单击“ 5”会将日志记录级别设置为5,这是最详细的日志记录级别。这可能很有用,但不能解决应用程序无法做到这一点的情况。
在iTunes中,您可以看到当前连接的iPhone的充电状态:
这会随着手机充电而更新,甚至会在手机充电时显示.
有没有办法可以通过Mac以编程方式发现充电状态?任何编程语言或API都可以.
Java文档Class
说:
Class
Java虚拟机在加载类时自动构造对象,并通过调用defineClass
类加载器中的方法.
这些Class
物品是什么?它们是否与通过调用从类实例化的对象相同new
?
另外,例如,即使我不继承,object.getClass().getName()
如何将所有内容都转换为超类?Class
java.lang.Class