- 博客(5)
- 收藏
- 关注
原创 解释throw表达式和try块的使用方法的程序
throw表达式是用在try块中的。它用于抛出错误信息。throw抛出的错误信息被下面的catch函数接受,并且通过runtime_error类的成员函数what()返回throw关键字抛出的错误信息。下面是源程序。Sales_item.h#ifndef _SALES_ITEM_#define _SALES_ITEM_#include #include using std::s
2013-08-14 13:03:01
1078
原创 关于C++中输入操作符(>>)返回输入流对象的的问题
我练习编写了下面的一段小程序#include #include #include using std::cout;using std::cin;using std::endl;using std::string;using std::vector;int main(){ string word; vector text; while (cin >>
2013-08-14 11:10:38
533
原创 coding过程中遇到的一些问题(不定时更新)
未解决······在输出操作符(ostream& operator<< (ostream& out, const class& c){ //...}第二个参数一般使形参成为const引用,就可以通过使用同一个定义来输出const和非const对象。为什么使形参成为const引用,就可以通过使用同一个定义来输出const和非const对象呢?这里面涉及的C++语法规则是什么呢?
2013-08-13 12:31:20
471
原创 关于强制转换操作符reinterpret_cast的实验和总结
强制转换操作符reinterpret_cast是一个非常有趣的操作符。我们常见的强制转换操作符static_cast在强制转换的时候是有一些限制的。例如,我们不能把int这样的系统内置类型转换成char*这样的指针类型,不能进行像int*和char*这样的指针类型之间的转换。但是reinterpret_cast却没有这方面的限制。它似乎是无所无能的,虽然我没有把所有的可能性都实验一遍,但是上述的两
2013-08-12 14:53:23
1627
原创 何时需要强制类型转换(一)
有时,强制类型转换可以提高程序的效率。比如下面的这段程序int main(){ double dval(3.1415926); int ival(6); ival *= dval; return 0;} 这段程序的第四行实际运行时要经历两个阶段:第一个阶段是ival转换成double类型,从而可以和dval相加。第二个阶段是ival和dval相加的结果截去小数部分,转换成i
2013-08-12 11:08:56
1479
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人