花费 148ms 找到884620条记录
1 .C++ primer第二次阅读学习笔记(第18特殊工具技术优化内存分配
2012年05月30 - 第十八章:特殊工具技术优化内存分配 C++类型分配是一个类型化操作:new特定类型分配内存,并在新分配内存中构造对象。new表达式会为每个动态分配的类自动调用构造函数。但有些时候需要将内存分配与对象构造分开,因为对预先分配,但以后却不使用的对象进行构造很是浪费
2 C++ primer第二次阅读学习笔记(第17:用于大型程序的工具:异常处理)
2012年05月29 - 第十七:用于大型程序的工具:异常处理 现对于小型的软件系统,大规模编程对程序设计语言和程序员的要求更高,它们往往具有以下要求: 1:更严格的正常运转时间以及更强壮的错误检测和错误处理。 2:运用各种库进行开发。 3:能够处理更复杂的应用概念。 C++中所具有
3 C++ primer第二次阅读学习笔记(第17:用于大型程序的工具:命名空间)
2012年05月29 - 第十七:用于大型程序的工具:命名空间 在一个给定的作用域中定义的每个名字,在该作用域中必须是唯一的。对庞大、复杂的应用程序而言,这个很难满足。由独立开发的库构成的复杂程序更有可能遇到名字冲突,因为库倾向于使用全局名字:模板名、类型名或函数名。命名冲突问题被称为:命名空间污染
4 C++ primer第二次阅读学习笔记(第4
2012年05月16 - []进行释放。漏用【】,编译器无法发现此错误,会导致少释放内存空间,导致内存泄露。 String成员函数c_str()返回const类型的数组指针,因此不能被修改。另外一旦string对象被改变,c_str()返回的数组就会变为无效,也就是说c_str()返回的数组是在调用函数时才对string
5 C++ primer第二次阅读学习笔记(第12:类)
2012年05月23 - A a; 第二种方法是从C继承而来。 类定义以分号结束,分号是必须的,因为在类定义之后可以接一个对象定义列表。就像结构体一样。如 class A{} a1,a2; 在普通的非const成员函数中,this类型是一个指向类类型的const指针,可以改变this所指向的值,但不能改变this所保存的地址
6 C++ primer第二次阅读学习笔记(第5
2012年05月16 - 差别,类的默认构造函数都会被调用。 堆空间可能会被耗尽,因此动态申请内存可能会失败。动态内存交换并不能保证堆空间随用随有。 delete动态申请的空间之后要将指针置为NULL,否则将变成野指针。有可能被误用。两对同一块堆空间调用delete可能会导致堆空间被破坏
7 C++ primer第二次阅读学习笔记(第1、2
2012年05月15 - C++ primer第二次阅读学习笔记(第1、2) 一年前开始了C++primer的第一遍阅读,一年之后重新拾起C++primer。原因有二,一:第一遍阅读时刚开始接触C++,对C++认识有限,学习C++primer不可能有多么深刻的理解,一年的开发
8 C++ primer第二次阅读学习笔记(第6
2012年05月17 - 第六 在switch中只有在最后一个case或是default语句之后才能定义变量,之所以这样规定是为了避免代码跳过变量定义和初始化。 如switch(val) { case xx: break; case yy: int i
9 C++ primer第二次阅读学习笔记(第13:复制控制)
2012年05月23 - 第十三章:复制控制 如果没有显式定义复制构造函数、赋值操作符,编译器通常为我们定义。 复制构造函数是一种特殊的构造函数,具有单个形参,该形参为对该类类型的引用。当定义一个新对象,当将该类型的对象传递给函数或从函数返回该类型的对象时将隐式使用复制构造函数。 复制构造函数
10 C++ primer第二次阅读学习笔记(第16:模板与泛型编程) .
2012年05月28 - 的,因此将类定义和函数声明放在头文件中,而普通函数和类成员函数的定义放在源文件中。 模板不同,要进行实例化,编译器必须能够访问定义模板的源代码。当调用函数模板或类模板的成员函数时,编译器需要函数定义,需要哪些通常放在源文件中的代码。《C++primer》为编译模板代码定义了两种类型。分别为包含编译模型

 
© 2014-2019 ITdaan.com 粤ICP备14056181号