C++ 学习基础一
1.预处理器指示符
如果文件名用尖括号“<”和”>”括起来的,则表示该文件是工程或标准头文件,查找过程会检查预定义的目录。
如果文件名用双引号括起来,则表示该文件是用户自定义的头文件,查找该文件时将从当前文件目录开始。
2.注释块不能嵌套,即如下情况是不允许的
/*
* do not allow /**/
*/
3.文件结束符,mac上使用Ctrl + D;windows上使用Ctrl + Z;
—————-2016-07-12———————
4.string对象的输入操作符,
(1).读取并忽略开头的空白字符(如空格,换行符,制表符)
(2).读取字符直至再次遇到空白字符,读取终止.
5.用getline读取整行文本,getline返回的字符串不包含换行符
6.vector——高效的动态的添加元素
(1) 定义和初始化
vector<T> v1;//v1默认为空
vector<T> v2(v1);//v2是v1的副本
vector<T> v3(n,i);//v3包含n个值为i的元素
vector<T> v4(n);//v4含有值初始化的元素的n个副本
(2)常用操作
v.empty();//判断v是否为空
v.size();//返回v中元素个数,返回值类型为size_type
v.push_back(t);//在v的末尾添加一个值为t的元素
v[n];//返回v中位置为n的元素,下标操作不允许添加元素,只能获取指定元素
7.迭代器用于访问容器内的元素,每个容器都定义了一个名为iterator的类型。
迭代器的简单使用:
std::vector<int>::iterator iter;
for(iter = ivec.begin();iter!=ivec.end();iter++)
{
cout<<*iter<<endl;
}
还可以通过迭代器改变vector中元素的值,具体如下:
std::vector<int>::iterator iter;
for(iter = ivec.begin();iter!=ivec.end();iter++)
{
*iter = 0;
cout<<*iter<<endl;
}
除了iterator类型外,还有一种const_iterator类型,该类型的迭代器只能访问vector内的元素,不能更改其元素的值。
std::vector<int>::const_iterator citer;
for(citer = ivec.begin();citer!= ivec.end();citer++)
{
cout<<"dasfjsdfj "<<*citer<<endl;
}
8.数组
(1)非const常量以及要到运行阶段才知道其值的const常量都不能用于定义
数组的维数。如:
const int value = 3;
int ss_size = 30;
const int bb_size = getsize();
double a[ss_size];//error
int b[value];//ok
int c[bb_size];//error
(2)一个数组不允许使用另外一个数组初始化,也不允许将一个数组赋值给另一个数组,
如下:
int ia[] = {0,1,2};
int ia2[](ia);//error
int ia3[3];//ok ,but elements are uninitialized!
ia3 = ia;//error
(3)动态数组是只通过new 和delete分配存储空间,例如:
int *pia = new int[10];//ok,but uninitialed
int *pia2 = new int[10]();//ok,initialed
(4)数组变量不允许创建空数组,而动态数组可以。如下:
char array[0];//error,cannot define zero length array
char *cp = new char[0];//ok,但是不能对该指针进行解引用
(5)动态分配的数组最后必须显示地释放,否则最后将会逐渐耗尽。C++中使用delete[]释放指针所指向的数组空间。
delete []pia;
(6)动态数组的使用:
通常是因为在编译时无法确定数组维数,所以使用动态创建该数组。
后续更新中......
C++ 学习基础一的更多相关文章
- 现代3D图形编程学习-基础简介(2) (译)
本书系列 现代3D图形编程学习 基础简介(2) 图形和渲染 接下去的内容对渲染的过程进行粗略介绍.遇到的部分内容不是很明白也没有关系,在接下去的章节中,会被具体阐述. 你在电脑屏幕上看到的任何东西,包 ...
- 现代3D图形编程学习-基础简介(1) (译)
本书系列 现代3D图形编程学习 基础简介 并不像本书的其他章节,这章内容没有相关的源代码或是项目.本章,我们将讨论向量,图形渲染理论,以及OpenGL. 向量 在阅读这本书的时候,你需要熟悉代数和几何 ...
- JavaScript学习基础部分
JavaScript学习基础 一.简介 1.JavaScript 是因特网上最流行的脚本语言,并且可在所有主要的浏览器中运行,比方说 Internet Explorer. Mozilla.Firefo ...
- 【IOS学习基础】NSObject.h学习
一.<NSObject>协议和代理模式 1.在NSObject.h头文件中,我们可以看到 // NSObject类是默认遵守<NSObject>协议的 @interface N ...
- git学习基础教程
分享一个git学习基础教程 http://pan.baidu.com/s/1o6ugkGE 具体在网盘里面的内容..需要的学习可以直接下.
- c语言学习基础:[1]开发工具介绍
标签:c语言 1 2 3 4 分步阅读 学习编程语言的童鞋们一开始接触到的最多的估计就是C语言了,其次才是什么java.c++等,可以说学习c语言是我们走向编程世界的一座桥梁,学好它,对于我们学习和研 ...
- 20165318 预备作业二 学习基础和C语言基础调查
20165318 学习基础和C语言基础调查 技能学习经验 我们这一代人,或多或少的都上过各种兴趣班,舞蹈钢琴画画书法,我也是如此.可这些技能中,唯一能拿的出手的就是舞蹈了.按照<优秀的教学方法- ...
- 20165230 学习基础和C语言基础调查
20165230 学习基础和C语言基础调查 技能学习经验 我擅长弹钢琴.小时候我曾上过很多兴趣班,比如钢琴.跳舞.书法.绘画等等,唯一坚持至今的只有钢琴.仔细一算学习钢琴至今已有12年,不能说已经精通 ...
- [ Java学习基础 ] Java构造函数
构造方法是类中特殊方法,用来初始化类的实例变量,它在创建对象(new运算符)之后自动调用. Java构造方法的特点如下: 构造方法名必须与类名相同. 构造方法没有任何返回值,包括void. 构造方法只 ...
- [ Java学习基础 ] Java的继承与多态
看到自己写的东西(4.22的随笔[ Java学习基础 ] Java构造函数)第一次达到阅读100+的成就还是挺欣慰的,感谢大家的支持!希望以后能继续和大家共同学习,共同努力,一起进步!共勉! ---- ...
随机推荐
- Red hat 5挂载U盘
装在虚拟机上的Linux 一.挂载U盘 ...
- Linux命令(17)du 查看文件和目录磁盘使用情况
Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的. 1.命令格式: du [选项][文件] 2.命令功能 ...
- poj 1251 统计难题(字典树)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1251 AC代码: #include<iostream> #include<algor ...
- Zend Guard Run-time support missing问题的解决
Zend Guard不仅可以实现对PHP应用的脚本进行加密保护和对PHP应用的产品进行商业许可证管理,还可以为许多软件生产商.IT服务提供商提供完善的加密和安全的产品发布系统. 虽然现在可以成功加密p ...
- 内联函数inline
1:使用inline函数的时候,必须使函数体和inline说明结合一起,否则编译器将视他为普通函数处理: false: inline void Coord::setcoord(int a,int b) ...
- 通过位运算生成ID
public static void main(String[] args) { long serverId = 65535; System.out.println("ServerId:&q ...
- jsp+bean+servlet 案例代码
包结构图: 代码下载地址
- 如何设置BIOS使服务器断电后再来电能自动开机
不同的主板及CMOS型号相对应的选项会有所不同,但我想应该不会差太多,一般都在[POWER MANAGEMENT SETUP]和[Integrated Peripherals]这两个选项中.下面介绍两 ...
- 为什么老师不喜欢RelativeLayout
这个要看个人喜好.RelativeLayout对于一些简单布局来说反而复杂了.要计算相对距离这些.用线性布局只要利用好weight可以很直观的实现效果.所以这个因个人喜好而定 对于讲一些简单的功能来说 ...
- [Excel]C#操作Excel(导入导出)
/// <summary> /// 读取Excel文档 /// </summary> /// <param name="Path">文件名称&l ...