C++入门基础(复习)

1.可以使用using将命名空间中单个变量引入

#include <iostream>
namespace N
{
    int a;
}
using N::a;//将命名空间中的成员a引入
int main()
{
    std::cout<<a<<std::endl;
    return 0;
}

2.缺省参数不能在函数声明和定义中同时出现

缺省参数只能在函数声明时出现(优选),或者函数定义时出现(二者之一均正确)

避免二义性:当函数声明和定义里都有缺省参数,且参数值不同时,编译器就不知道该用哪个值

代码的清晰性和可维护性:为了让代码更清晰、易维护,最好把缺省参数放在函数声明处。这样,调用者只需查看函数声明就能知道有哪些缺省参数

3.缺省值可以是全局变量的原因

函数缺省值的求值发生在函数调用的时候,而不是函数定义或声明的时候。当调用一个带有缺省参数的函数且没有为该参数提供显式值时,编译器会在调用点使用缺省值的表达式来确定实际传递给函数的值。由于全局变量在程序的整个生命周期内都存在,并且其存储位置和值在程序运行期间是固定的,所以在函数调用时可以可靠地获取全局变量的值作为缺省参数。

4.仅仅是返回类型不同,不能构成重载

5.在函数前加“extern C”后,该函数便不能支持重载了

在函数前加“extern C”,意思是告诉编译器,将该函数按照C语言规则来编译。

6.引用和指针的区别(重要)

 1、引用在定义时必须初始化,指针没有要求。
 2、引用在初始化时引用一个实体后,就不能再引用其他实体,而指针可以在任何时候指向任何一个同类型实体。
 3、没有NULL引用,但有NULL指针。
 4、在sizeof中的含义不同:引用的结果为引用类型的大小,但指针始终是地址空间所占字节个数(32位平台下占4个字节)。
 5、引用进行自增操作就相当于实体增加1,而指针进行自增操作是指针向后偏移一个类型的大小。
 6、有多级指针,但是没有多级引用。
 7、访问实体的方式不同,指针需要显示解引用,而引用是编译器自己处理。
 8、引用比指针使用起来相对更安全。

7.auto不能推导的场景

编译器在编译期会将auto替换为变量实际的类型

1.auto不能作为函数的参数,编译器不能推导出类型

2.auto不能直接用来声明数组,无法确定数组的大小

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值