C++入门基础知识
来源:互联网 发布:淘宝网二手苹果手机 编辑:程序博客网 时间:2024/06/05 07:31
1. 命名空间
- 作用: 实际上就是一个由程序设计者命名的内存区域,程序设计者可以根据需要指定一些有名字的空间域,把一些全局实体分别放在各个命名空间中,从而与其他全局实体分隔开来。
- 访问方法:用 作用域解析符:: 来访问,AA : : x,AA表示空间域,x表示成员(名字)。
namespace AA1//AA1域(空间) { int a = 1;//成员 } namespace AA2 { int a = 2; } int a = 3; int main() { int a = 4; cout<<a<<end1;//输出4,就近原则 cout<<::a<<end1;//3,全局变量,域缺省时,表示全局域 cout<<AA1::a<<end1;//1, cout<<AA2::a<<end1;//2, }
2. C++的基本输入输出流。
cout是标准输出流对象,<< 是输出操作符;
cin是标准输入流对象,>>是输入操作符;
endl是换行操作符;
他们都属于C++标准库,所以都在std的名字空间里面。
1. C++怎么控制double等浮点类型的输出位数吗?
2. 怎么控制输出一个数字的八进制和16进制吗?
3. 重载
- 什么事函数重载:在同一作用域类,一组函数的函数名相同,参数列表不同(个数不同/类型不同),返回值可同可不同
- 为什么C语言不支持重载,而C++支持:例如函数:void function(int x, int y)
在C语言中,经过编译器编译后,库中的名字为 _function
而在C++中,经编译器编译后,库中的名字为_function_int_int, 即C++函数参数不同,函数名不同的函数在库中定义的函数名就不同。(与返回值无关)。
// _Z12OverloadFuncidvoid OverloadFunc (int x, double d){}// _Z12OverloadFuncdivoid OverloadFunc (double x, int d)
4. C++缺省参数
// 全缺省参数int Add1 (int a = 10, int b = 20){ return a + b;}// 半缺省参数int Add2 (int a, int b = 30){ return a + b;}////错误缺省参数//int Add3 (int a = 40, int b)//{// return a + b;//}void Test (){ Add1();//结果:30 Add1(1);//21 Add1(1,1);//2 Add2(2);//32 Add2(2,2);//22}
5. 指针和引用
指针我们在C语言中已经有所了解,就不用啰嗦,我们只看引用,和指针做比较
1. 引用的概念:
引用不是定义一个新的变量,而是给一个已经定义的变量重新起一个别名
2. 定义的格式为:
类型 &引用变量名 = 已定义过的变量名;
3. 引用的特点:
- 一个变量可取多个别名
- 引用必须初始化
- 引用只能在初始化的时候引用一次,不能改变为再引用其他的变量。
4. 使用方法:
void TestReference1 (){int a = 1;int& b = a;cout<<"a:address->" <<&a<< endl;cout<<"b:address->" <<&b<< endl;a = 2;b = 3;int& c = b; // 引用一个引用变量,别名的别名c = 4;}
- 做参数:
//【引用传递】如果形参为引用类型,则形参是实参的别名。void Swap (int& left, int& right){int temp = left;right = left ;left = temp ;}//会改变实参的值
//测试值传递/引用传递的效率struct BigData{ int array [1000];};void DealBigData (BigData& x)//35{ x.array [0]= 0; x.array [1]= 1; x.array [2]= 2;}void DealBigData (Bigdata x)//125{}#include <Windows.h>void TestReference3 (){ BigData bd ; int begin = GetTickCount (); for (int i = 0; i < 1000000; ++i ) { DealBigData(bd );//125 } int end = GetTickCount (); cout<<"cost time:" <<end - begin<<endl ;}
阅读全文
1 0
- c语言基础知识入门
- 【C++】Cpp入门基础知识
- 【C++】入门基础知识
- linux程序设计入门----基础知识:linux下C语言编程基础知识
- C语言入门基础知识(一)
- linux操作系统下c语言编程入门 -- (1)基础知识
- linux操作系统下c语言编程入门--基础知识
- LINUX下C语言入门系列课程-基础知识
- C 基础知识
- C 基础知识
- C基础知识
- C 基础知识
- c基础知识
- c基础知识
- c基础知识
- [C]基础知识
- c基础知识
- C基础知识
- Python bug整理
- 信息熵、信息增益与信息增益率
- 你真的了解html代码的事件,离开焦点和聚焦焦点的动作的意思吗?onblur、focus?它们是点击才可以触发,而不是鼠标悬停,鼠标悬停是hover
- 【0006】安装谷歌浏览器时,一直处于联网状态
- Ubuntu常见问题解决方法
- C++入门基础知识
- matlab之size:返回矩阵的行数和列数
- Extjs控件属性
- DoKuWiki知识库的搭建
- 第2章 装配Bean---笔记1
- Android Activity生命周期图解及常见问题汇总
- 自定义Toast提示框 → AppToastMgr
- ./configure,make,make install的作用
- Starting MySQL as a Windows Service