C/C++
hesong_qiao
这个作者很懒,什么都没留下…
展开
-
C++ 中的 mutable 关键字
<br />mutable 关键字是和 const 关键字相对的, 在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中。<br /><br /> 我们知道,如果类的成员函数不会改变对象的状态,那么这个成员函数一般会声明成const的。但是,有些时候,我们需要在const的函数里面修改一些跟类状态无关的数据成员,那么这个数据成员就应该被mutalbe来修饰。<br />据说有这种面试题:请在函数get_m中改变m的值<原创 2010-11-28 10:06:00 · 513 阅读 · 0 评论 -
try catch
<br />#include<iostream>#include <string>using namespace std;class Person{private: int age; string name;public: void setAge(int); void setName(string);};class Error{public: virtual void show()=0;};class nameError:public原创 2010-11-30 19:52:00 · 434 阅读 · 0 评论 -
switch case
<br />case 语句后面最好还是直接加大括号。例如下面是会出现错误的:<br /> case 2: int b=3; { cout<<2<<endl; break; } case 3: { cout <<3<<endl; break; }<br />会出现 b 的初始化操作由 "case” 标签跳过。原创 2010-12-02 20:23:00 · 384 阅读 · 0 评论 -
srand() 函数
<br />表头文件<br />#include<stdlib.h><br /> 定义函数<br />void srand (unsigned int seed);//srand(设置随机数种子) 其 相关函数 rand <br /><br />函数说明<br />srand()用来设置rand()产生随机数时的随机数种子。参数seed必须是个整数,通常可以利用geypid()或time(0)的返回值来当做seed。如果每次seed都设相同值,rand()所产生的随机数值每次就会一样。<br />原创 2010-12-02 22:20:00 · 822 阅读 · 0 评论 -
unsigned int 应用于 for 循环的注意事项
void main(void) { unsigned int b = 8; int a; for (a=-1;a原创 2010-12-08 21:20:00 · 753 阅读 · 0 评论 -
深入理解C++的动态绑定和静态绑定
<br />为了支持c++的多态性,才用了动态绑定和静态绑定。理解他们的区别有助于更好的理解多态性,以及在编程的过程中避免犯错误。<br />需要理解四个名词:<br />1、对象的静态类型:对象在声明时采用的类型。是在编译期确定的。<br />2、对象的动态类型:目前所指对象的类型。是在运行期决定的。对象的动态类型可以更改,但是静态类型无法更改。<br />关于对象的静态类型和动态类型,看一个示例:<br />view plaincopy to clipboardprint?<br />01.class转载 2011-05-18 18:55:00 · 575 阅读 · 0 评论