C++学习笔记①

1.标准C++规定main函数必须声明为int型

 

2.输出  cout   输出流对象   <<    插入运算符

   输入  cin     输入流对象   >>    提取运算符

   用到头文件 iostream (C++标准要求,由系统提供的头文件不带后缀.h,由用户自己编制的头文件可以有后缀.h)

   同时要用到 using nanespace std;

    endl 换行

 

3.system(“pause”);//防止程序结果一闪而过,以便查看某些程序结果

 

4.一个类class是由一批数据以及对其操作的函数组成的

   类可以体现数据的封装性和信息隐蔽

 

 

1.setw  设置指定输出所占列数

   如setw(5)是作用是为其后面一个输出项预留5列的空间,如果输出数据项的长度不足5列,则数据向右对其,若超过5列则按实际长度输出

  需要头文件 iomanip

 

2.#define 定义符号常量 (只是在编译时进行字符置换)

  const  定义常变量,程序运行期间变量的值是固定的,不能改变

 

3.在函数调用前必须对所调用的函数作函数原型声明

   目的:使编译系统对函数调用的合法性进行严格的检查,尽量保证程序的正确性

   在编译时只检查参数类型,而不检查参数名

   函数类型  函数名(参数表);

   Int max(int x, int y);        //参数表中包括参数类型和参数名

   Int max(int, int);            //参数表中只包括参数类型、不包括参数名

 

4.函数的重载

   C++允许在同一个作用域中用同一函数名定义多个函数,这些函数的参数个数和参数类型不同,这些同名的函数用来实现不同的功能

   重载函数的参数个数或类型必须至少有其中之一不同

   函数返回类型可以相同,也可以不同

 

5.函数模板

    template <typename T>

   通用函数定义

  template <class T>

   通用函数定义

类型参数可以不只一个,根据需要 确定个数。如:

template<typename T1,typename T2>

 

6.有默认参数的函数

   可以给形参一个默认值,实参与形参的结合是从左至右的顺序进行的,因此指定默认值的参数必须放在形参列表中的最右端,否则出错

   如果函数的定义在函数调用之前,则应在函数定义中给出默认值

   一个函数不能既作为重载函数,又作为有默认参数的函数

 

7.变量的引用

   int a;

   int &b=a; //b是a的“引用”,即b是a的别名

   &是“引用声明符”

   对变量声明的一个引用,并不另开辟内存单元,吧b和a都都代表同一变量单元

   在声明一个引用时,必须同时使之初始化,即声明它代表哪一个变量

   当声明一个变量的引用后,在本函数执行期间,该引用一直与其代表的变量相联系,不能再作为其他变量的别名

   当&a的前面有类型符时(如int &a=b),它必然是对引用的声明;如果前面没有类型符(如p=&a),此时的&是取地址符

   对引用的初始化,可以用一个变量名,也可以用另一个引用。如:int a=3;int &b=a; int &c=b;

 

   注意:Ⅰ)不能建立void类型的引用

     Ⅱ)不能建立引用的数组

     Ⅲ)可以将变量的引用的地址赋给一个指针,此时指针指向的是原来的变量

     Ⅳ)可以建立指针变量的引用,如:int i=5; int *p=&i;int* &pt=p;结果:*pt=5

     Ⅴ)可以用const对引用加以限定,不允许改变引用的值,如:int i=5;const int &a=i; a=3;错误

            但可以改变原变量的值,i=2;合法  结果:i=2,a=2

     Ⅵ)可以用常量或表达式对引用进行初始化,但此时必须用const作声明。如:int i=5; const &a=i+3

   (相当于int t=i+3const int &a=t;)

   用这种办法不仅可以用表达式对引用进行初始化,还可以用不同类型的变量对之初始化(要求能赋值兼容的类型)。如:double d=3.14;const int &a=d;合法

double d=3.14 int &a=d;错误

 

8.内置函数(内嵌函数/内联函数)适用于规模很小频繁使用函数

   指定内置函数,在函数首行的最左端加一个关键字inline

 

9.作用于运算符 ::

::a表示全局作用域中的变量a

 

10.字符串变量 string

   头文件 string

   赋值: string=“china“;正确 

      char str[10]; str=“china”;错误

      str2=str1;正确,且str2和str1的长度不必相同

   输入输出:cin >> str1; cout << str2;

   函数运算:Ⅰ)复制 strcpy(str2,str1);即str2=str1;

   Ⅱ)字符串连接用+,str=str1+str2;

   Ⅲ)字符串比较直接用关系运算符

   字符串数组中只包含字符串本身的字符而不包括“\0”

 

11.动态分配/撤销内存的运算符 new/delete

   new 类型 [初值]

   delete []指针变量;

   delete p;

   delete []pt;   //在指针前面加一对方括号,表示对数组空间的操作

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值