C++入门知识点

一、命名空间

      用c++语言编写大型软件时,较多的变量和函数以及其他命名很可能会发生重复的状况,命名空间恰好解决了这一问题,使用命名空间对名称进行划分,不容易混淆名称。
      c++标准库的命名空间为std,以标准库命名空间为例,看一下命名空间的三种使用方法。
      1、用using和namespace关键字直接引入命名空间

using namespace std;

      2、只引入名称空间中的要用的东西

using std::cout;

      3、在使用的时候用名称空间及限定符限定

std::cout<<"Hello Word."<<std::endl;

      可以定义自己的命名空间,定义方式如下:

namespace name //定义了一个名称为name的命名空间
{
	......
}
二、缺省参数

      c++允许在定义函数的时候为形参赋予一个默认值,即缺省参数,在调用函数时,给了参数就用给的参数,没有给参数就用默认参数,其中有几个注意点。
      1、要么给所有参数都给一个默认参数,为全缺省,如果要半缺省,必须是从后往前缺省,也就是说一个参数有缺省值,其后边的参数必须有缺省值,原因是在调用函数时给形参赋值是从右往左赋值的。
      2、缺省参数在函数定义和声明中出现都可以,但是只能出现一次,不能同时出现。
      3、缺省值必须是常量或全局变量。

三、函数重载

      函数重载是指同一作用域内两个函数名字相同,参数列表不同(类型或数量),在调用函数时根据实参来匹配适合的函数,返回值并不影响函数重载。
      c++能够实现函数重载的原理是编译器在编译期间会对函数的名称根据其参数重新命名,使得重载的函数在编译完成时其名称也是唯一的。不同的编译器对函数的重新命名有不同的方法。

四、引用

      引用相当于给一个变量取了一个别名,和原变量公用一块内存空间,对引用的操作相当于直接对原变量的操作。
      引用和指针的区别:
      1、引用只是给变量取了一个别名,可以直接访问变量,而变量是开辟一块内存空间存放变量地址,通过*运算符间接访问变量,
      2.引用在定义的时候必须初始化,而且程序运行过程中不能改变为其他变量的引用,指针可以不初始化,而且可以改变其指向。
      3、用引用作为函数参数或者返回值,避免了参数或者返回值的拷贝,更高效,指针在一定意义上也能起到这一作用,但是最少还是得拷贝指针大小空间。
      4、在底层实现上,引用也是按照指针的方式来实现的。
      常引用即用const修饰的引用,不能用常引用来修改它所引用的变量值,需要注意的是引用常量必须用常引用.

五、内联函数

      内联函数是在编译时在调用处将函数展开,换一句话说就是对函数代码进行相应的替换后,直接放在调用处,我们可以使用inline关键字来修饰一个函数,建议编译器将此函数置位内联函数,内联函数适用于代码短小,使用频率高,没有复杂语法的函数。

六、auto关键字

      将一个变量指定为auto,说明这个变量类型是自动类型,在编译时有编译器自动推导其类型,需要注意的点如下:
      1、auto定义变量必须初始化,因为编译器需要通过初始化的字面常量来确定变量类型。
      2、在声明引用时,要想使用auto,为了和普通变量及指针变量区分,必须使用&,即auto & b = a
      3、auto不能用于函数的参数,因为在编译阶段无法知道其类型,
      4、auto不能直接用于数组的定义,

七、基于范围的for循环
void TestFor()
{
	int array[] = { 1, 2, 3, 4, 5 };
 	for(auto & e : array)
 		cout << e << " ";
 	cout << endl;
}
八、空指针

      c++指针赋空的时候使用nullptr,因为NULL不是正正意义上的空,而是0.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值