人们有时似乎喜欢故意使C++语言的术语难以理解。比如说new操作符(new operator)和operator new的区别。 当你写这样的代码: string *ps =
人们有时似乎喜欢故意使C++语言的术语难以理解。比如说new操作符(new operator)和operator new的区别。 当你写这样的代码: string *ps =
Gotcha #63: Confusing Scope and Activation of Member new and delete Gotcha条款63:Member New和Member D
Gotcha #62: Replacing Global New and Delete Gotcha条款62:替换Global New和Global Delete 将operator n
Item 17: 在一个独立的语句中将 new 出来的对象存入智能指针 假设我们有一个函数取得我们的处理优先级,而第二个函数根据优先级针对动态分配的 Widget 做一些处理: int priorit
Item 16: 使用相同形式的 new 和 delete 下面这段代码有什么问题? std::string *stringArray = new std::string; ... delete st
Reference counting让我想起了Java,当假如想用C++来实现Java的能力的话,那Reference counting必不可少。Reference counting可以节省程序的
指针与引用看上去完全不同(指针用操作符’*’和’->’,引用使用操作符’.’),但是它们似乎有相同的功能。指针与引用都是让你间接引用其他对象。你如何决定在什么时候使用指针,在什么时候使用引用
很久以前(八十年代),没有办法区分++和--操作符的前缀与后缀调用。这个问题遭到程序员的报怨,于是C++语言得到了扩展,答应重载increment 和 decrement操作符的两种形式。
与C一样,C++使用布尔表达式简化求值法(short-circuit evaluation)。这表示一旦确定了布尔表达式的真假值,即使还有部分表达式没有被测试,布尔表达式也停止运算。例如: