一步步学Qt,第九天-Q"STL"与STL-Qvector,vector
2011-09-01 16:11
330 查看
一步步学Qt,第九天-Q"STL"与STL-Qvector,vector
这个部分或许没有代码出现,更多的是文字分析,即使会出现也可能就是很简短的部分。今天主要来分析和对比一下Q”STL”与C++的STL,主要讲解他们各自在定义和使用的区别,不仅仅是学习C++的提升也是对Qt与C++STL的结合。
A、QVector<T>与vector<T>
1、 对应变量的声明:
QVector<T> var_qstl;
vector<T> var_stl;
eg: QVector<int> n_vector_qstl; //声明一个无初始化向量大小的向量n_vector_qstl
vector<int> n_vector_stl; //声明一个无初始化向量大小的向量n_vector_stl
2、项的赋值以及项值的获取
2.1 项的赋值
QVector<int> n_vector_qstl; //没有初始化向量大小 //set Values n_vector_qstl.append(1); n_vector_qstl.append(2); n_vector_qstl.append(3); QVector<int> n_vector_qstl(3); //已初始化向量大小 //set Values n_vector_qstl[0] = 1; n_vector_qstl[1] = 2; n_vector_qstl[2] = 3;
vector<int> n_vector_stl; //没有初始化向量大小 //set values n_vector_stl.push_back(1); n_vector_stl.push_back(2); n_vector_stl.push_back(3); vector<int> n_vector_stl(3); //已初始化向量大小 //set values n_vector_stl[0] = 1; n_vector_stl[1] = 2; n_vector_stl[2] = 3;
2.2 项值获取
QVector:
//getValues for (int i=0; i<n_vector_qstl.count(); i++){ cout << n_vector_qstl[i] << setw(2); } cout << endl;
或者:
for (QVector<int>::size_type i=0; i!=n_vector_qstl.count(); i++){ cout << n_vector_qstl[i] << setw(2); } cout << endl;
vector:
//get values for(vector<int>::size_type ix=0; ix!=n_vector_stl.size(); ++ix){ cout << n_vector_stl[ix] << setw(2); } cout << endl;2.3 完整代码:
QVector:
#include <QtCore/QCoreApplication>
#include <QVector>
#include <iostream>
#include <iomanip>
using namespace std;
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QVector<int> n_vector_qstl;
//set Values
n_vector_qstl.append(1);
n_vector_qstl.append(2);
n_vector_qstl.append(3);
//getValues
for (int i=0; i<n_vector_qstl.count(); i++){
cout << n_vector_qstl[i] << setw(2);
}
cout << endl;
for (QVector<int>::size_type i=0; i!=n_vector_qstl.count(); i++){ cout << n_vector_qstl[i] << setw(2); } cout << endl;
return a.exec();
}
vector:
#include <QtCore/QCoreApplication>
#include <vector>
#include <iostream>
#include <iomanip>
using namespace std;
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
vector<int> n_vector_stl;
//set values
n_vector_stl.push_back(1);
n_vector_stl.push_back(2);
n_vector_stl.push_back(3);
//get values for(vector<int>::size_type ix=0; ix!=n_vector_stl.size(); ++ix){ cout << n_vector_stl[ix] << setw(2); } cout << endl;
return a.exec();
}
相关文章推荐
- 一步步学Qt,第九天-Q"STL"与STL-Qvector,vector
- 一步步学Qt,第九天-Q”STL”与STL-再看C++
- 一步步学Qt,第九天-Q”STL”与STL-再看C++
- error LNK2001: unresolved external symbol "public: int __thiscall CFtProtocolThread::getFnIds(class _STL::vector > &)" (?getFnId
- Qt 中 Z-order assignment: " is not a valid widget.
- QT中的&和tr("字符串")
- QT的"hello word"
- 问题解决:it could not find or load the Qt platform plugin "windows"
- qt 安装错误 undefined reference to "FcFreeTypeQueryFace
- 例说数据结构&STL(一)——vector
- UVA 127 - "Accordian" Patience---用STL做的(TLE超时)
- QT中的 undefined reference to vtable for "xxx::xxx" 错误解决
- centos6.5下面的qt安装于都家教网,于都人自己的家教网站<a garget="_blank" href="www.yudujiajiao.com">www.yudujiao.com</a>
- STL 之 vector源代码实现(云算法<< [] = 重载, new delete,throw catch)
- QT编程中编译的时候出现c_jkdacx0.obj : error LNK2001: 无法解析的外部符号 "class QTextCodec * GlobalCodec" ?
- Qt中使用setLayout()函数时报错------Attempting to set QLayout "" on MainWindow "MainWindow",which already has
- 一步步学Qt,第十天-Q”STL”与STL-迭代器-补充点
- STL(3)---<vector>
- 转:gsoap:import: Cannot open file "stlvector.h" for reading
- WM5.0unresolved external symbol "void __cdecl `eh vector constructor iterator'处理办法