#include<cstring> usingnamespacestd; intmain() { intarr[10] = {12,34,566,45,64,9,45,98,35,2}; char*str ="Hello vector!"; vector <int> vector1(arr, arr+10); vector <char> vector2(str, str+strlen(str)); cout<<"vector1:"<<endl; for(vector<int>::iterator p=vector1.begi...
和string不同, string标准库支持了操作符重载, 一些操作可以使用符号进行, c风格字符串的操作需要使用对应的函数, 对应在C++的头文件是#include <cstring> 对大多数应用来说, 标准库的string使用比c风格字符串更安全 c风格字符串和string混合使用 可以使用c风格字符串初始化string strings("hello"); 可以使用c风格...
remove_if()是通过unary_function继承下来的,允许传递数据作为条件。 例如,假如想从一个vector<CString>中删除匹配的数据,如果字串中包含了一个值,从这个值开始,从这个值结束。 首先应该建立一个数据结构来包含这些数据,类似代码如下: #include <functional> enum findmodes { FM_INVALID = 0, FM_IS, FM_STARTS...
map<Type1,Type2> testStatic::m_staticMap; // 初始化 很多人应该都会用到这种情况,比如:你需要在你的工程中动态的通过读取配置文件,在内存中记录某些数据。这时候你就需要一个类: template<type T> class DataMgr{ public: BOOL Load(CString filePath); static BOOL GetData(const T &dataID,T &dataVa...
定义成类成员变量,MFC在该类的构造函数中自动初始化
字符数组的初始化:char a[ ]={‘1’,‘2’,‘3’,‘4’,‘5’,‘6’,‘7’}; 字符数组的重点在字符数组函数的应用: 代码如下(示例): #define _CRT_SECURE_NO_WARNINGS 1#include<iostream>#include<string>#include<cstring>using namespace std;const int N = 80;int main(void){char s[N], ...
vector<int> b(a) ; //声明并⽤向量a初始化向量b vector<int> b(a.begin(), a.begin()+3) ; //将a向量中从第0个到第2个(共3个)作为向量b的初始值 除此之外, 还可以直接使⽤数组来初始化向量:int n[] = {1, 2, 3, 4, 5} ;vector<int> a(n, n+5) ; //将数组n的...
CString s; s.Format("%d",i); v.push_back(s); } CString ss ; for(int j =0;j<v.size();j++) { ss+=v[j]+","; } MessageBox(ss); 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 注:你也可以用v.begin()和v.end() 来得到vector开始的和结束的元素地址的指针位置。
std::vector<CString>(v).swap(v); 你可以看到我们做了什么?我们创建了一个临时变量代替那个命名的,然后使用swap(),这样我们就去掉了不必要的空间,得到实际大小的v。 结论 我希望这个文档可以给那些使用STL vector容器的开发者很有价值的参考。我也希望通过阅读这篇文章你可以放心地使用vector来代替C语言中的数据...
例如,假如你想从一个vector<CString>中删除匹配的数据,如果字串中包含了一个值,从这个值开始,从...