C++查漏补缺

我已经不怎么记得“程序设计实习”的内容了。 C与C++的(细微)区别 C++支持,但C不支持 面向对象 重载、模板、继承、虚函数、友元函数 语言层面上的异常处理 引用 输入输出流 new/delete/explicit/class等关键词 结构体中定义成员函数 结构体中定义静态变量 直接在结构体中初始化成员变量 C支持,但C++不支持 调用尚未声明的函数 将const的地址赋给non-const指针 将void*值直接赋给其他指针,malloc()返回的就是void* 不初始化const char *c = 333 其他 C认为func()=func(…),即func可以接受任意个数的参数。C++认为func()=func(void),即func不能接受参数。因此在C中使用func(void)会显得你更专业、更严谨 C认为字面字符常量是整数,C++则认为是字符。sizeof('a'),前者得到4,后者得到1 C的结构体类型必须带上struct前缀。struct T; T a;是不合法的C代码,但C++认为没问题 sizeof(1==1)的C值为4,C++值为1,因为C++支持bool类型 空结构体的sizeof值在C是0,在C++是1 引用和指针的区别 总地来说,引用不如指针灵活,但更安全。引用值必须 ...

2018年10月26日 · 7 分钟 · 3070 字 · Dai Chao