摘要:
背景: 使用函数能够避免将相同代码重些多次的烦恼,还能减少可执行程序的体积,但也会带来程序运行时间上的开销。函数调用在执行时,首先在栈中为形参和局部变量分配存储空间,然后还要将实参的值复制给形参,接下来还要将函数的返回地址(改地址指明了函数执行结束后,程序应该回到哪里继续执行)放入栈中,最后才跳转到 阅读全文
摘要:
strcmp: 用于比较两个字符串,原型如下: int strcmp ( char const *s1, char const *s2);如果s1小于s2,strcmp函数返回一个小于零的值。如果s1大于s2,函数返回一个大于零的值。如果两个字符串相等,函数就返回零。警告:初学者常常会编写下面这样的 阅读全文
摘要:
ifstream infile("student.dat"); while((c=infile.get())!=EOF){} //EOF的值是-1 但在 #include<iostream>using namespace std;int main(){ int c; while((c=cin.get 阅读全文
摘要:
cin.getcin.getline函数的返回值是流的引用,因此可以这样一直进行下去: char a, b;cin.get(a).get(b); char a[100]; cin.getline(a,100).getline(a,100); http://www.cnblogs.com/wangha 阅读全文
摘要:
cin对象与标准输入流相对应。 cout对象与标准输出流相对应。 cerr对象与标准错误流相对应,常用于程序错误信息,不缓冲,直接被发送给屏幕。 clog对象也对应标准错误流(这点儿和cerr是一样的)会缓冲 对象代表流 当iostream文件为程序声明一个cout对象时,该对象将包含存储了与输出有 阅读全文
摘要:
所以不要这样 因为这里实参是通过传值方式传递的,会用默认构造函数创建实参的副本,副本的指针跟实参的指针指向空闲存储器中同一个字符串。 超出函数作用域后,副本会析构,使副本里 的指针 指向的内存被释放。 但实参还是指着那个位置,所以可能出错。 malloc/new/new[] 申请了一块内存的时候,编 阅读全文
摘要:
friend 函数体一般放在类定义外 new跟delete是一对的 ,new创建的对象在空闲存储器中 编译器,不负责删除在空闲存储器中创建的对象 如果用new 后不用delete 在return之后,则不会执行析构函数 要用delete才可以析构再释放内存 delete可以用友元函数重载 复制构造函 阅读全文
摘要:
内联声明只是建议 ,不一定就会内联。 http://www.voidcn.com/blog/u011327981/article/p-5006835.html 阅读全文
摘要:
1 #include 2 int n=0; 3 using namespace std; 4 class Cbox{ 5 int a ; 6 int b ; 7 int c ; 8 public: 9 int g ; 10 Cbox(int d):Cbox(){cout<<"dddd"... 阅读全文
摘要:
http://zh.cppreference.com/w/cpp/language/explicit explicit 指定符 C++ C++ 语言 类 explicit 指定符指定构造函数或转换函数 (C++11 起)不允许隐式转换或复制初始化。它仅可出现于在其类中定义的这种函数的 decl-sp 阅读全文