标签:结束 子进程 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();
}19
int
main(
void
){
int
i;
for
(i=0;i<4;i++){
fork();
printf
(
"-\n"
);
}
return
0;
}30
int
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‘
;
// 1
s2[2] =
‘E‘
;
// 2
*(s1 + 2) =
‘E‘
;
// 3
*(s2 + 2) =
‘E‘
;
// 4
dynamic_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