行业知识
小白学习c++的的第一节课
初识c++
- 目录:
- 一、c++关键字(c++98)
- 二、命名空间
- 2.1 命名空间的定义
- 2.2 命名空间的使用
- 三、c++输入与输出
- 四、缺省参数
- 五、函数重载
- 六、引用
- 6.1引用特性
- 6.2常引用
- 6.3使用场景
- 6.4传值和传引用效率比较
- 6.5引用和指针的区别
- 七、内联函数
- 7.1 概念
- 7.2特性
- 八、auto关键字(c++11)
- 8.1 auto的使用
- 8.2 auto不能用的场景
- 九、基于范围的for循环(c++11)
- 9.1 范围for的使用条件
- 十、���针空值——nullptr(c++11)
目录:
经过了很长时间对C语言和c的数据结构学习,终于开始学C++了。前面基础不牢,后面地动山摇,给自己加油。
该如何去学习c++?
多写博客。写博客,主要是总结自己学习的知识,更系统更全面对所学的知识进行概况,也能起到复习的作用。
有时间的话多看看课外书
c++的学习不是一年、两年能学会的,要把学习语言作为一个持续的过程。
写代码能力很重要,多去牛客网和leetcode去刷题。
这篇博客写的是:
C语言语法的不足,以及c++在C语言设计不合理的地方进行优化,为以后的c++学习奠定基础。
c++是贝尔实验室的本贾尼等人在C语言的基础上进行扩展,增加了类的机制,称为c with classes。c++是面向对象的语言,它包含c。
一、c++关键字(c++98)
c++63个关键字,c语言32个关键字
等c++学完后,我会单独总结关键字。
二、命名空间
命名空间解决C语言的命名冲突问题
2.1 命名空间的定义
如:
rand重定义了,以前是函数,C语言没有办法解决这个命名冲突问题,c++提出了用namespace来解决
下面就是命名空间的定义
pp是命名空间的名字,命名空间中可以定义/变量/函数/类型。
命名空间可以嵌套使用
同一个工程文件可以存在多个相同名称的命名空间,编译器最后会合成同一个命名空间中(如头文件的声明给它封起来,源文件的定义也给它封起来,因为它们的命名空间相同,所以最后会合成为同一个命名空间)
注意 :一个命名空间就定义了一个新的作用域,命名空间的所有内容都局限于该命名空间中。
2.2 命名空间的使用
命名空间的使用有三种方式:
- 加命名空间名称以及作用域限定符
N::a
- 使用using将命名空间中某个成员引用
using N::a;
- 使用using namespace 命名空间名称引用
using namespace N;
三、c++输入与输出
解释:
1.使用cout标准输出对象(控制台)和cin标准输入对象(键盘)时,必须包含头文件以及按命名空间使用方法使用std。
2.cout和cin是全局的流对象,endl是特殊的c++符号,表示换行输出。
3.流提取运算符。
4。使用c++输入输出更方便,不需要C语言那样,手动控制格式,c++自动识别变量类型。
#includeusing namespace std;//使用c++标准库的命名空间std,c++定义实现都放到这个命名空间里int main(){ int a; float b; char c; //自动识别变量的类型 cin >> a; cin >> b >>c; //流输出 cout cout cout cout cout cout cout cout const int a = 10; // int& ra = a;//a具有常属性,ra没有常属性,不能给a取别名,权限的变大 const int b = 20; const int& rb = b;//可以对常量进行引用,前提是变量具有常属性,权限的保持 const int& bb = 20;//可以对常量进行引用,前提是变量具有常属性,权限的保持 double c = 3.14; const double& rc = c;//权限的缩小 int d= 30; //double& rd = d;//不能给类型不同的数据取别名 cout test_1(); return 0;}//在函数中让值做交换 int tem = a; a = b; b = tem;}//2.做返回值int& test_2(int a,int b){//返回的对象在静态区,函数栈帧结束,对象还在。 static int c = a + b;//static修饰的变量n在静态区中,静态区只能被初始化一次,后面就不能初始化了 return c;}int main(){ int x = 10, y = 20, z = 30, w = 40; test_1(x,y); int& add=test_2(z,w); test_2(10, 20); cout int a[100];};void A(C& c){}void B(C c){}int main(){ C c; int i; //引用做参数 int begin1 = clock(); for (i = 0; i
- 加命名空间名称以及作用域限定符
下一篇:思科pt服务器怎么用?