C++基本知识点总结

1.1命名空间
在c/c++中,变量、函数、类都是大量存在的,这些变量、函数和类的名称都将存在于全局域当中。会导致很多的冲突。使用命名空间的目的是对标识符的名称进行本地化,避免命名冲突或名字污染
一个命名空间就定义了一个新的作用域,命名空间的所有内容都局限于该命名空间中。
(1)关键字 namespace
(2)例:
//命名空间可以嵌套
namespace N1{
int a;//命名空间可以定义变量
int Fun(int top,int taill){ //可以定义函数
return top*tail;
}
}
(3)使用:
方法一: 加命名空间名称及作用域限定符
int main(){
printf(“%d”,N1::a);
}
**方法二:**使用using将命名空间中成员引入
using N::a;
int main(){
printf("%d",N::Add)
printf("%d",a);
}
方法三: 使用using namespace将命名空间引入
using namespace N;
int main(){
printf("%d",a);
Fun(1,2);

1.2C++的输入输出:
#include //输入输出需要包含的头文件
using namespace std; //c++标准库的命名空间
int main(){
int a ;
double b;
char c;
cin>>a;
// c++的输入输出自动识别类型
cin>>b>>c;
cout<<a<<end1;
cout<<b<<" "<<c<<end1;
return 0;
}

1.3缺省参数: c++支持给函数定义类似于默认的参数值 当没有实参传入 则使用默认值(c语言不支持)
//全缺省参数
例: void test(int a = 10,int b = 20,int c = 30){
count<<"a = "<<a<<endl;
count<<"b = "<<b<<endl;
count<<"c = "<<c<<endl;
}
//半缺省参数:半缺省参数必须从右往左依次来给出,还不能有间隔
void test(int a ,int b = 20,int c = 30);//正确
void test(int a = 10,int b ,int c = 30);//错误

1.4函数重载: c++允许在同一作用域中声明几个功能类似的同名函数,这些同名函数的形参列表的、
(参数个数 或 类型 或 顺序)必须有不同,才能构成重载。(返回值类型可相同可不同 主要是参数列表 而c语言不支持重载这都和名字修饰有关)

1.5引用概念:
引用不是新定义一个变量,而是给已经存在的变量取了一个别名,编译器不会为引用变量开辟空间,他和他引用的变量公用同一块内存。
用法格式:类型& 引用变量名(对象名) = 引用实体; (引用在定义的时候必须就初始化)

                void TestRef()
                {
                       int a = 10;
                       int& ra = a;//定义引用类型
                       cout << a << endl;
                       cout << pa << endl;    //这两行输出结果一致
                 }

常引用: 应用变量和被引用常量的类型应为相同
例如:
const int a = 10;
int& b = a ;//错误 因为a为只读的 而应用变量类型为可读可写

                 int a = 10;
                 const int& b = a;//正确 因为a为可读可写 而b为只读 这样的引用是正确的

引用类型可做参数 也可以做返回值类型(一般不用引用类型做参数 因为其所代表空间一般会因为自定义函数的栈帧销毁而失去对这块内存的使用权 导致返回值错误发生)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值