//由于记录时隔过于久远,所以暂且按照表上的来,最后再补
1.强制类型转换:模板+变量名
double a=3.5;
cout<< (int)a<<endl;
2.将数组初始化为字符串时结尾处会自动加上/0———char类型的字符串组的特性,/0为结尾标识符
2.1数组元素默认初始化0(未赋值时)
2.2char数组可能会接受来自缓冲器的输入
2.3两个cstring中的方法
char pd1[]{'a','f','w','d'};
char pd2 [4];
char pd3 []{'d','s','e','w'};
strcpy(pd2,pd1);//将pd1复制到pd2中
strcat(pd3,pd1);//将pd1添加到pd3末尾
2.4计算字符串组的长度
int e= strlen(pd4);//测量长度
3.cout输出可以用空格来进行拼接
cout<<"...." "....";//拼接输出
//这里做一下说明,由于穿插的知识很多,所以后面会出现的会在前面忽略相关记录
4.结构体struct
struct a { int name ; double age ; char cc ; };
a b; //甚至可以为a d[num]型;
cin>>b.name>>b.age>>b.cc;
cout<<b.name << b.age<< b.cc;
struct c=b ; //结构可以赋值
//链表之后再说,struct相当于只有公有成员的类
5.共用体union
我也不想多说了,这玩意有点骚、
反正里面的成员共享地址,所以只有最大数据成员有效,一帮用法如下:
struct Matrix//分配struct空间
{
union _matrix//分配union空间,在struct内
{ //全部为共用体空间,最大长度由最大数据代替(这里是f)
struct//当然,这里面定义了2维数组中所以成员
{
float _f11, _f12, _f13, _f21, _f22, _f23, _f31, _f32, _f33;
};
float f[3][3];
};//一切为了减少内存使用
struct Matrix m;
6.枚举法
我的第一篇文章分析的很全面
引用:关于枚举的使用(原版本撤回)
重点!!枚举内只能使用“=”
enum a{red=1,yellow=3,blue=5,orange=red+yellow}; //有默认值,但可以赋
enum class b{red,yellow,blue};
b k=b::red;
int colour = red+blue ;//合法
enum a today = red; //这里定义了一个a的新变量并赋值原来的red
today = a(4) ;//强制转换把4付给a变量today
//注意变量赋值顺序是从右往左且只能在定义时赋值!
//可以在赋值内给orange一个类
//范围计算:max:已赋最大值的2的幂的上一界(如已有最大值为65,上界为2的7次方为128)
cout<<k<<e<<i<<endl;//以上已全部测试过
枚举还可以分为限定作用域和不限定版本,限定的可以在作用域外重名,不限定枚举可以隐转为整形如int a = b ,限定作用域用法a b = a::c,枚举内默认赋值就一个值比前一个值大一,虽然本来全部都是整形值,但是限定作用域就不能直接访问并且隐转,必须要用域名运算符::调用成员。
//差不多这样吧,这个限定作用域扯到类了,所以用法我暂时不探讨了