- 博客(6)
- 收藏
- 关注
原创 读书摘要—《Thinking in C++ 2rd:Vol 2》
第七章 异常处理 通过使用C++提供的异常处理机制: 1. 编写异常处理代码不再是一项枯燥的工作,而且不会与正常情况下的代码混在一起。 2. 程序运行时的错误不允许被忽略。 C++异常处理机制所提供的优势之一就是允许程序员将面临的任务集中在一个地点解决,而在另外一个地点处理可能出现的错误。 异常处理理论中存在两种基本模型:Terminati
2007-06-09 12:28:00 1231
原创 C/C++中 const的不同含义
在C中const所表示的意思是变量对应的值是不可修改的;然而这个小小的保证也只是看起来如此,程序员完全可以通过强制类型转换,随意修改cosnt变量对应的内存位置的值。 在C++中const表达了双重意味:常量&不可修改。前者保证对所有使用到标识符地方,自动用对应的常值进行替换;后者则保证除非使用const_cast去除const属性,否则任何对const变量的修改都被视为非法操作。
2007-06-09 11:09:00 1453
原创 异常机制与析构函数
以下时一段关于C++异常机制的示例代码:在有异常抛出的情况下,C++会负责自动析构已创建的对象,如果在析构函数中又抛出异常(此时还未进入当前异常的处理函数),则运行时系统会调用terminate(),终止程序。#include iostream>#include cstdlib>#include exception>using namespace std;void new_terminat
2007-06-09 10:37:00 825
原创 Reference
C++中 的引用在涉及到初始化和参数传递时,也必须满足了类似C中指针参数传递时的要求: 右侧具备的限定符,都必须在左侧出现。所以,下面的代码都是存在问题,无法通过编译的: int & a=1; void f( int & x) ...{;} f(1);需要修改为如下才能通过编译 const int & a=1; void f( c
2007-06-09 10:15:00 760
原创 constructor的细节之处
#include iostream>using namespace std;class Who...{public: static Who * NewWho() ...{ cout"calling constructor"endl; return (new Who() ); } void test()...{ Who();};private: Who() ...
2007-06-09 10:03:00 869
原创 const关键字的internal linkage属性
当将const关键字用于声明某个常量时,该标识符自动具备internal linkage属性,即只对相同文件内的函数可见,对其他文件中的函数是不可见的。这可以通过如下的示例程序证明 //const1.cpp#include iostream>using namespace std;const int a=1;void funcA()...{ cout"cout int
2007-06-09 09:37:00 1245
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人