C++需要注意的地方和小算法

C++11的标准

1 auto    //可以自动类型,
2 
3 auto cars=15//自动转化为int

强制转换 (long)thorn =long (thorn) //前者是c标准,后者是c++

还有一种 static_cast<long> (thorn) //这种是c++标准

 

 

数组各种

array<float,4> score ={68,66,18,12}; //头文件arrary

valarray <double>di(9);

vector <int> color (10);   //头文件vector

 

 

 

普及知识:(array和vector的区别)

1:array 定义的时候必须定义数组的元素个数;而vector 不需要;且只能包含整型字面值常量,枚举常量或者用常量表达式初始化的整型const对象,

非const变量以及需要到运行阶段才知道其值的const变量都不能用来定义数组的维度.

2:array 定义后的空间是固定的了,不能改变;而vector 要灵活得多,可再加或减. 

3:vector有一系列的函数操作,非常方便使用.和vector不同,数组不提供 push——back或者其他的操作在数组中添加新元素,数组一经定义就不允许添加新元素;

若需要则要充许分配新的内存空间,再将员数组的元素赋值到新的内存空间。

4.   数组和vector不同,一个数组不能用另一个数组初始化,也不能将一个数组赋值给另一个数组;

 

 

 

C++11 数组历遍简单的基础

 1 #include <iostream>
 2 using namespace std;
 3 int main(void)
 4 {
 5     int a[6]={1,2,3,4,5,6};
 6     forint &x:a)    //enter the array
 7         cin>>x;
 8     for(int x:a)        //output the array
 9         cout <<x<<endl;
10 return 0; 
11 }

 

 

面向对象的输出;

1)getline ()   //回车或者换行结束

cin.getline(name(数组名),lenth(长度))  //别忘记加上空字符

注意:他是将回车键或换行转换’\n’  (回车和“\n”进入缓冲区)

 

cin.get()表示输入任意一个字符,但是不把回车键“\n”放入缓存区    

可以写成cin.get().get  <=>cin.getline   那么.get可以换取一个回车

 

cout << R” \n ”<<endl;   //输入原型的字符串,即使有‘\n’都输出 \n来

如果要将“”也输出,可以用下面的

Cout << R”+*(“(who wouldn’t ?)”,she whisered.)+*"<<endl;

即 “+*和+*” 替代了””

 

3)枚举上限和下限额取法:比如枚举的最大值为101,2的幂次方最靠近的是128,所以上限为127,枚举的最小取值为-6,2的幂次方最靠近为-8,所以下限为-7

将指针变量加1后,其增加的值等于指向的类型占用的字节数

 

 

一个当你输入错误重新输入的基本思想,非常基础:

\

 

 

 

3种方法实现两个数交换

 1 b=a-b;
 2 a=a-b;
 3 b=a+b;
 4 
 5 a=a^b; 
 6 b=a^b;
 7 a=a^b;
 8 
 9 c=a;
10 a=b;
11 b=c;

 

posted @ 2015-12-31 00:38  MrPat  阅读(242)  评论(0编辑  收藏  举报