标签:结束 子进程 har 创建 系统 无符号 i++ short 效率
1 构造一个对象的时候,必须知道对象的实际类型,而虚函数行为是在运行期间确定实际类型的。而在构造一个对象时,由于对象还未构造成功。编译器无法知道对象 的实际类型,是该类本身,还是该类的一个派生类,或是更深层次的派生类。无法确定。。。
在内存的动态分配区域中分配一个长度为size的连续空间,如果分配成功,则返回所分配内存空间的首地址,否则返回NULL,申请的内存不会进行初始化。
2)calloc 函数: void *calloc(unsigned int num, unsigned int size)按照所给的数据个数和数据类型所占字节数,分配一个 num * size 连续的空间。
动态分配一个长度为size的内存空间,并把内存空间的首地址赋值给ptr,把ptr内存空间调整为size。
#include <stdio.h>int main(){ long long a = 1, b = 2, c = 3; printf("%d %d %d\n", a, b, c); return 0;}1,0,2
不算main这个进程自身,到底创建了多少个进程啊?
int main(int argc, char* argv[])
{ fork(); fork() && fork() || fork(); fork();}19int main(void){ int i; for(i=0;i<4;i++){ fork(); printf("-\n"); } return 0;}30int main(){ bool first=true; int sum=0; int value; unsigned short i=0xFFFF; for (;i>=0;--i) { if (first) { value=65536; sum+=value%3; first=false; } else{ sum+=--value%3; if (value<=0) { cout<<sum<<","<<i; break; } } } return 0;} 65536,65535char* s1 = "Hello world";char s2[] = "Hello world";s1[2] = ‘E‘; // 1s2[2] = ‘E‘; // 2*(s1 + 2) = ‘E‘; // 3*(s2 + 2) = ‘E‘; // 4dynamic_cast将一个基类对象指针(或引用)cast到继承类指针,dynamic_cast会根据基类指针是否真正指向继承类指针来做相应处理, 即会作一定的判断。 对指针进行dynamic_cast,失败返回null,成功返回正常cast后的对象指针; 对引用进行dynamic_cast,失败抛出一个异常,成功返回正常cast后的对象引用。 reinterpret_cast这个转换是最“不安全”的,两个没有任何关系的类指针之间转换都可以用这个转换实现。 static_cast静态转换是最接近于C风格转换,很多时候都需要程序员自身去判断转换是否安全。 const_cast这个转换好理解,可以将常量转成非常量。
标签:结束 子进程 har 创建 系统 无符号 i++ short 效率
原文地址:http://www.cnblogs.com/tsunami-lj/p/6414041.html