您的位置:首页 > 编程语言 > C语言/C++

Essential C++ Note

2016-03-04 20:38 375 查看
向量的定义:vector<double> vec(size);

或者vector<double> vec;

vec.push_back(x);将数值x压至vec的最后,并且长度加一

文件读写:头文件 #include <fstream>

写文件:关键词ofstream ,ios_base::app

ofstream outfile( "seq_data.csv" ,ios_base::app );//以追加模式开启(append mode)

if(!outfile)

cerr<<"Oops! Unable to save session data!\n";//cerr与cout相似,只是cerr输出无缓冲直接显示

else

outfile<<"输出内容"<<endl;

读文件:关键词ifstream

ifstream infile("seq_data.csv");

vector<string> usr_name;

if(!infile)

cerr<<"Oops";

else

while(infile >> usr_name)

Reference(化身):

int num = 1024;//定义一个int对象

int *ptr = #//定义一个指针(pointer),指向对象num

int &ref = num;//定义了一个化身(reference),代表对象num

面对化身的所有操作都会全部加载到原型上

函数重载:参数表不相同的函数可以具有相同的名字。

Template Function:当几个函数的主体内容相同,但参数型别有区别时可定义一个函数模板。

void display_message( const string&, const vector<int>&);

void display_message( const string&, const vector<double>&);

void display_message( const string&, const vector<string>&);

定义Template Function函数模板

template <typename elemtype>

void display_message( const string&, const vector<elemtype>&);

{

}

关键词typename表示,elemtype 在display_message( )中的一个临时放置型别的代称。

Function Template同时也可以是重载函数。

函数指针:

定义 必须指明参数表和返回值类型。

const vector<int>* (*seq_ptr)(int)
//参数表内容为int,返回值类型为const vector<int>*

初值 seq_ptr = 0 ;//不指向任何函数

seq_ptr = display_message ;//直接给予函数名称

Standard Template Library(STL标准模板库)=容器+泛型算法(对容器进行操作的算法)

容器(container):

包括vector,list,set,map;

其中vector,list属于序列式容器,主要进行迭代操作;

set(key),map(key/value)属于关联式容器,可快速寻找元素值;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: