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++ 学习基础一的更多相关文章

  1. 现代3D图形编程学习-基础简介(2) (译)

    本书系列 现代3D图形编程学习 基础简介(2) 图形和渲染 接下去的内容对渲染的过程进行粗略介绍.遇到的部分内容不是很明白也没有关系,在接下去的章节中,会被具体阐述. 你在电脑屏幕上看到的任何东西,包 ...

  2. 现代3D图形编程学习-基础简介(1) (译)

    本书系列 现代3D图形编程学习 基础简介 并不像本书的其他章节,这章内容没有相关的源代码或是项目.本章,我们将讨论向量,图形渲染理论,以及OpenGL. 向量 在阅读这本书的时候,你需要熟悉代数和几何 ...

  3. JavaScript学习基础部分

    JavaScript学习基础 一.简介 1.JavaScript 是因特网上最流行的脚本语言,并且可在所有主要的浏览器中运行,比方说 Internet Explorer. Mozilla.Firefo ...

  4. 【IOS学习基础】NSObject.h学习

    一.<NSObject>协议和代理模式 1.在NSObject.h头文件中,我们可以看到 // NSObject类是默认遵守<NSObject>协议的 @interface N ...

  5. git学习基础教程

    分享一个git学习基础教程 http://pan.baidu.com/s/1o6ugkGE 具体在网盘里面的内容..需要的学习可以直接下.

  6. c语言学习基础:[1]开发工具介绍

    标签:c语言 1 2 3 4 分步阅读 学习编程语言的童鞋们一开始接触到的最多的估计就是C语言了,其次才是什么java.c++等,可以说学习c语言是我们走向编程世界的一座桥梁,学好它,对于我们学习和研 ...

  7. 20165318 预备作业二 学习基础和C语言基础调查

    20165318 学习基础和C语言基础调查 技能学习经验 我们这一代人,或多或少的都上过各种兴趣班,舞蹈钢琴画画书法,我也是如此.可这些技能中,唯一能拿的出手的就是舞蹈了.按照<优秀的教学方法- ...

  8. 20165230 学习基础和C语言基础调查

    20165230 学习基础和C语言基础调查 技能学习经验 我擅长弹钢琴.小时候我曾上过很多兴趣班,比如钢琴.跳舞.书法.绘画等等,唯一坚持至今的只有钢琴.仔细一算学习钢琴至今已有12年,不能说已经精通 ...

  9. [ Java学习基础 ] Java构造函数

    构造方法是类中特殊方法,用来初始化类的实例变量,它在创建对象(new运算符)之后自动调用. Java构造方法的特点如下: 构造方法名必须与类名相同. 构造方法没有任何返回值,包括void. 构造方法只 ...

  10. [ Java学习基础 ] Java的继承与多态

    看到自己写的东西(4.22的随笔[ Java学习基础 ] Java构造函数)第一次达到阅读100+的成就还是挺欣慰的,感谢大家的支持!希望以后能继续和大家共同学习,共同努力,一起进步!共勉! ---- ...

随机推荐

  1. DBA_Oracle性能优化的基本方法概述(方法论)

    2014-12-18 Created By BaoXinjian

  2. C#绘制立体三维饼状图

    转载自原文 C#绘制立体三维饼状图(超酷) 内容原文地址:LINK [翻译]Julijan Sribar著3D Pie Chart一个用于绘制立体三维饼状图的C#类库[简介]本文的想法就是创建一个独立 ...

  3. Error: L6218E: Undefined symbol TIM_ARRPreloadConfig (referred from pwm_output.o).

    出错原因:模板FWLIB中没有添加stm32f10x_tim.c文件.添加即可 一般利用库开发,将ppp.c(ppp.c又调用了库stm32f10x_xx.h)写好之后的调用步骤: 1 将ppp.c和 ...

  4. php序列化,反序列化

    serialize("数组"); //序列化的函数 序列化示范:serialize(array('1'=>1235622,'2'=>'4142122')); unser ...

  5. Ubuntu查看磁盘空间命令(转载)

    linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况.可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息. 1.命令格式: df [选项] [文件] 2.命 ...

  6. AutoResetEvent和ManualResetEvent理解 z

    AutoResetEvent和ManualResetEvent用于多线程之间代码执行顺序的控制,它们继承自WaitHandle,API相同,但在使用中还是有区别的. 每次使用时虽然理解了,但由于没有去 ...

  7. CRM报表打印

    删除路径下的文件 C:\Windows\Downloaded Program Files\rsclientprint.dll路径下的这个dll文件,重新登录crm选择一个面单点击打印按钮重新安装插件

  8. ext 3.2 tree 在IE10中点击事件失效的bug

    ext3.2 中的tree在IE中进行兼容性测试,遇到IE10时,无法点击,其他版本的IE(7.8.9.11)均正常.此bug是由于ext-all.js中的getAttributeNS方法不能兼容IE ...

  9. android点击状态分析

    android:addStatesFromChildren="true" :父类从子类中获取点击状态. android:duplicateParentState="tru ...

  10. .NET基础操作回顾_使用ADO.NET操作SqlServer使用的类

    有些工具用的久了或者有新工具出现后,就慢慢的遗忘了很多,它们从熟悉的变成陌生,当然,对于我们来说不是好事吧. 今天回顾一下ADO.NET用到的MS的基础类库,先上代码(标准的SqlServer操作) ...