首页 > 编程语言 >c++

c++

时间:2024-09-03 21:23:33浏览次数:7  
标签:const 作用域 C++ 6.7 c++ using 引用

1 C++概述

1.1 C++两大编程思想

1.1.1 面向对象   泛型编程

1.2 C++98标准

2 C++书写hello world

2.1 包含头文件   #include <iostream> 标准输入输出头文件

2.2 using namespace std; 使用标准命名空间

2.3 cout << “helloworld”<< endl;  end line;

2.4 面向对象三大特性  :封装、继承、多态

3 双冒号作用域运算符

3.1 ::如果前面没有任何作用域,代表了使用全局作用域

4 namespace 命名空间

4.1 用途:解决命名冲突

4.2 命名空间下可以存放  变量、函数、结构体、类…

4.3 命名空间 只能存放在全局作用域下

4.4 命名空间可以嵌套命名空间

4.5 命名空间是开放的,可以随时添加新成员

4.6 命名空间是可以匿名的

4.7 命名空间可以起别名

5 using声明和using编译指令

5.1 using声明

5.1.1 using kingGlory::sunwukongId;

5.1.2 如果出现就近原则,需要避免两个原则同时出现

5.2 using编译指令

5.2.1 using namespace kingGlory;

5.2.2 如果出现就近原则,优先使用就近原则

5.2.3 如果有多个房间打开,并且存在同名的变量,使用时候需要加作用域区分

6 C++对C语言增强

6.1 全局变量检测增强  int a ;  int a = 10;

6.2 函数检测增强

6.2.1 声明函数返回值

6.2.2 形参类型  检测

6.2.3 返回值检测增强

6.2.4 调用时候 参数传参个数检测增强

6.3 类型检测增强   malloc  返回void * C++下必须强转

6.4 struct 增强

6.4.1 C++可以放入函数

6.4.2 使用时C++可以省去关键字 struct

6.5 bool类型增强

6.5.1 C++才有bool类型

6.5.2 sizeof  1

6.5.3 true  --- 1 代表真  false   --- 0假

6.6 三目运算符

6.6.1 C语言下 返回的值

6.6.2 C++语言下返回的是 变量

6.7 const增强

6.7.1 C语言下

6.7.1.1 全局const  语法可以通过,运行报错

6.7.1.2 局部const  语法通过 ,运行成功

6.7.2 C++语言下

6.7.2.1 全局const  语法可以通过,运行报错

6.7.2.2 局部const  语法通过,运行修改不成功,因为变量放入到符号表中

6.8 const在C语言下  默认是外部链接属性

6.9 const在C++语言下,默认是内部链接属性

6.10 const分配内存情况

6.10.1 对于变量  取地址

6.10.2 在变量前加关键字 extern

6.10.3 使用变量 来初始化 const修饰的变量

6.10.4 对于自定义数据类型,也会分配内存

6.11 尽量利用const来代替#define

6.11.1 宏常量 没有类型

6.11.2 不重视作用域

7 引用

7.1 用途 给内存起别名

7.2 语法:type &别名 = 原名

7.3 引用必须要初始化

7.4 一旦初始化后,就不可以修改指向了

7.5 建立对数组的引用

8 参数的传递方式

8.1 值传递

8.1.1 不可以修改到本体

8.2 地址传递

8.2.1 可以修改到本体

8.3 引用传递

8.3.1 可以修改到本体

9 注意事项

9.1 不要返回局部变量的引用

9.2 如果函数的返回值是引用,那么这个函数调用可以作为左值进行运算

10 引用的本质

10.1 就是一个指针常量

10.2 所以引用必须要初始化

10.3 初始化后 不可以修改指向

11 指针的引用

11.1 通过引用技术  可以简化指针

12 常量的引用

12.1 使用场景:修饰函数中的形参,防止误操作

13 

标签:const,作用域,C++,6.7,c++,using,引用
From: https://blog.51cto.com/u_15892225/11910269

相关文章

  • (D卷,100分)- 堆栈中的剩余数字(Java & JS & Python&C&C++)
    题目描述向一个空栈中依次存入正整数,假设入栈元素n(1<=n<=2^31-1)按顺序依次为nx…n4、n3、n2、n1,每当元素入栈时,如果n1=n2+…+ny(y的范围[2,x],1<=x<=1000),则n1~ny全部元素出栈,重新入栈新元素m(m=2*n1)。如:依次向栈存入6、1、2、3,当存入6、1、2时,栈底......
  • C++入门基础知识48——【关于C++函数】之Lambda 函数与表达式
    成长路上不孤单......
  • c++质因数分解
    质因数分解,最先想到了遍历1-n,找出既是质数也是因数的数。需要用到判断质数函数、while循环,复杂度三次方以上了。虽然比较慢,但是能做数学题。#include<iostream>usingnamespacestd;boolzs(intn){ for(inti=2;i<=n/2;i++){ if(n%i==0){ return......
  • C++学习笔记(大白话版)
     函数重载:名字一样,参数不一样 同一个小区,不同的家庭在小区中住不同的房子 缺省参数:写函数的时候故意不把参数写完,但是只能不写左边的,右边的必须写 如果在使用有缺省参数的函数时,给了实参值,那么就优先调用实参值 如果没有给实参,就可以用默认参数了。 函数定......
  • C++实现 || 敲桌子小游戏
    这是一个在聚会和酒桌上常玩的一个小游戏。游戏规则所有人围着桌子一个大圈,从“1”开始喊,遇到7、7的倍数或是带7的数字,就敲一下桌子(酒桌上用筷子敲下杯子),以此类推。一旦有人做错了就要接受惩罚。实现思路我们建立一个for循环,让变量在其中不断递增。在循环体内部,我们对变量进行判断,......
  • 【C++】类和对象2:默认成员函数+操作符重载
    本篇是类和对象的第二站......
  • 配置vscode中C&C++编译环境
    配置vscode中C&C++编译环境参考文章链接在文末。Win10系统。本文可能不太适合完全小白的同学参考学习...如果你在配置中遇到了什么问题,可以看一看,或许我能为你提供解决方案。一、卸载VScode,删除之前的配置这一步主要是因为本人之前一直在用vscode,但是各种扩展的使用混乱不堪......
  • C++ 设计模式——解释器模式
    目录C++设计模式——解释器模式1.主要组成成分2.逐步构建解释器模式步骤1:定义抽象表达式步骤2:实现终结符表达式步骤3:实现非终结符表达式步骤4:构建语法树步骤5:实现内存管理步骤6:创建上下文和客户端3.解释器模式UML图UML图解析4.解释器模式的优点5.......
  • C++ 设计模式——设计模式总结
    目录C++设计模式——设计模式总结1.面向对象程序设计的几个原则2.设计模式的分类3.设计模式的定义3.1创建型设计模式的定义3.2结构型设计模式的定义3.3行为型设计模式的定义4.重要提示C++设计模式——设计模式总结设计模式是软件设计中常见问题的典型解决......
  • 在Linux中使用C++调用Python程序
    为什么要用C++调Python我们训练部署CNN模型时,服务器用Pytorch测试的精度比我们部署端精度高0.5%。经过多方排查,发现是由于Pytorch预处理图片使用PIL进行图片读取和尺寸调整,但是部署端采用OpenCV进行图片读取和尺寸调整。两种实现方式实现的Resize操作差异非常大。为了快速完成项......