C++基础知识容易忽略的知识点
来源:互联网 发布:gta4优化代码 编辑:程序博客网 时间:2024/05/02 01:08
1.double型保留两位小数
#include<iomanip>
cout.setf(ios::fixed);
cout<<setprecision(2)<<ss<<endl;
2.vector
(1)头文件#include<vector>.
(2)创建vector对象,vector<int> vec;
(3)尾部插入数字:vec.push_back(a);
(4)使用下标访问元素,cout<<vec[0]<<endl;记住下标是从0开始的。
(5)使用迭代器访问元素.
vector<int>::iterator it;for(it=vec.begin();it!=vec.end();it++) cout<<*it<<endl;
(6)插入元素: vec.insert(vec.begin()+i,a);在第i+1个元素前面插入a;
(7)删除元素: vec.erase(vec.begin()+2);删除第3个元素
vec.erase(vec.begin()+i,vec.end()+j);删除区间[i,j-1];区间从0开始
(8)向量大小:vec.size();
(9)清空:vec.clear();
3.数组初始化
int a[100];这个数组a是不能用delete释放空间的,因为这个数组a在声明时就已经说明了空间的大小,在最后程序会自动释放这个空间。int *b;b=new int[100];这个要在最后用delete []b; 语句来动态释放,因为数组b是一个动态数组,数组空间是动态分配的,程序是不能自动释放的,所以要自己用delete来释放。二维数组
double
** pArray =
new
double
* [row];
for
(
int
i = 0; i < row; ++i)
pArray[i] =
new
double
[column];
for
(
int
i = 0; i < row; ++i)
delete
[]pArray[i];
delete
[]pArray;
一 数组
1. 声明2维数组时,第一维长度可以不指定
e.g. int a[][4]={0,1,2,3,4,5,6,7,8,9,10,11};//legal
2. 二维数组按行存储
3. 用数组名作函数参数
3.1 一维数组名作为函数参数
数组名代表数组首元素的地址,并不代表数组中的全部元素。因此用数组名作函数参数时,是将实参数组首元素的地址传递给形参。
形参可以是数组名,也可以是指针变量
调用函数时,将实参数组首元素的地址传递给形参数组名。这样,实参数组和形参数组共占同一段内存单元。形参数组中各元素的值如果发生变化就意味着实参数组元素的值发生变化。
4字符数组的赋值与引用
4.1 字符数组的赋值与引用
只能对字符数组的元素赋值,而不能用赋值语句对整个数组赋值。
4.2 字符串和字符串结束标志
char str[12]={'I',' ','a','m',' ','h','a','p','p','y'};
字符串str只有10个字符,所以系统会对字符数组最后两位自动填补’’,这是“字符串结束标志”。在上面的数组中,第11个字符为’’,就表明字符串的有效字符为其前面的10个字符。也就是说,遇到字符’’就表示字符串就此结束。
对一个字符串常量,系统会自动在所有字符的后面加一个’’作为结束符。例如字符串”I am happy”共有10个字符,但内存中它共占11个字节,最后一个字节’’是系统自动加上的。
在程序中往往依靠检测’’的位置来判定字符串是否结束,而不是根据数组的长度来决定字符串长度。
5 返回数组的函数
要想实现函数返回一个数组,那返回对应数组里面类型的指针
int* someFunction( ); //Legal
int* doubler( int a[], int size)
{
int* temp = new int[size];
for ( int i =0; i < size; i++)
temp[i] = 2*a[i];
return temp;
}
调用
int a[] = {1, 2, 3, 4, 5};
int* b;
b = doubler(a, 5);
delete[] b
二.string类型
1.开头必须加入
#include <string> using std::string;
2.输入读取(string s ;cin<<s;)忽略开头的空格 读取到下个空格即结束
3.可使用操作符 +,==,!=,+=,<,>
4.s.empty()判断是否为空
- C++基础知识容易忽略的知识点
- C中容易忽略的知识点
- Java 容易忽略的知识点
- java容易忽略的基础知识
- Python编程中容易被忽略的小知识点(一)(基础知识部分)
- php容易被忽略的知识点
- JS容易被忽略的小知识点
- java容易忽略的小知识点
- Java容易忽略的几个知识点!!!
- Java编程之容易忽略的知识点
- [c++]容易忽略的问题
- JS中容易被忽略的基础知识
- C++容易被忽略的基础知识
- C语言中容易忽略的问题
- 关于C编程容易忽略的地方
- c语言容易忽略的点
- 容易忽略的C编写规则!
- Linux内核里容易忽略的几个小知识点
- Android开发之旅:环境搭建及HelloWorld
- php无限级分类并把末级产品展示出来的思路
- 让程序崩溃后生成Core Dump
- PHP串行化与反串行化的调用
- 散散心得,cc自己看,因为理解诶还不够
- C++基础知识容易忽略的知识点
- C----------LessonCondition
- springMVC类型转换,@initBinder使用
- virtualbox中ubuntu和windows共享文件夹设置
- Shell学习---概念与理解
- 年入百万的表弟给我上一课:互联网思维该怎么接地气
- 2014各大网络公司校招笔试题
- HDU2560(计数)
- NYOJ-120校园网络【强连通分量缩点&&tarjan】