Using namespace std是什么
命名空间,using的意思是默认展开命名空间,这样的话就不用命名空间名::命名空间的东西,可以直接调用命名空间里的东西,std是官方定义的命名空间
命名空间是什么
凡是被命名空间包起来的东西,就可以和系统库里自带的东西共存(相当于一堵墙,不用命名空间的话就是访问的全局变量)
命名空间域的变量要怎么访问
域名::变量名
“::”是什么符号
域作用限定符,这样就可以访问命名空间里的变量了
怎么定义自己的命名空间
Namespace 空间名 {…}
结构体定义在了命名空间里,要怎么创建结构体变量
Struct 命名空间名::结构体名 结构体变量
假设,在命名空间里,自己定义的两个变量冲突了怎么办
命名空间是可以嵌套的,用的时候可以这么写:bit::bit1::变量名
多个文件,重名的命名空间会冲突吗
不会,编译器会把他们合并
命名空间变量的搜索规则
先搜索全局变量,再搜索命名空间1,2,最后找不到再报错
#include <iostream>是什么头文件
io流头文件
C++里,<<运算符是什么运算符
流插入运算符
Cout nb的地方
可以自动识别类型(相比较C,C还要用什么%d,%f,c++可以不用)
endl是什么
End line,就相当于换行符
展开命名空间要注意的地方
直接展开,全部暴露,有冲突的风险,这个时候就可以指定展开
怎么指定展开
Using 命名空间名::要用的东西
cout是什么意思
Console out,终端流出,把东西输出到控制台上
cin是什么意思
Console in,终端流入,把东西输入到程序的变量里
#ifndef是干什么用的
防止头文件被重复引用,并且要和#endif配合使用
浮点数和数值比较要注意的地方
不可以使用==或者!=,而是要用>=或<=
类里面可以创建const常量吗
不可以
要怎么样才能建立整个类中都恒定的常量?
可以在类中用枚举常量来实现
命名空间的使用范围
如果没有在全局中展开,每个函数都要展开(using)一下
缺省值要写在函数的声明还是定义
声明
什么是函数重载
可以声明几个功能类似的同名函数,但是形参不同,用来应对多种情况,返回值可相同也可以不相同
什么是引用
引用是给变量起一个别名,
怎么定义一个引用变量
用&符号,int& c = a,这里c就是a,a就是c,对c修改也能修改a,并且一个变量可以有多个别名,也能给别名起别名
引用变量的地址和原变量的地址是相同的吗
是相同的