- C++new操作符带不带括号区别
- 类的空指针的成员函数调用
-
#include using namespace std; class A{ public: void test() { printf("test A"); } }; int main(){ A* pA = NULL; pA->test(); return 0; }
- 上面的程序是合法的,C++在编译期间,就找到了pA的函数,发现test非虚函数,并且在其中没有对this指针的解引用操作,便直接调用。不需要在运行时寻找对象,再调用。
-
- C 和 C++ 的char*
- C中的char * a="hello";编译是完全正确的,这里的a是一个字符指针,指向一个字符数组,但不能修改
- C++ 的char *a="hello";gcc4.8.5编译会有警告,vc++编译直接出错