进Java社群
作者丨淡淡_小孩
C++11学习 - Array的用法与用法
Array
-对于Array来说它是固定大小的序列容器,它们包含严格的线性序列排序的特定数量的元素,在其内部来说vector 用法,数组除数组除保留其包含的元素外不保留其他任何数据(甚至不包括其大小(这是模板参数,固定在编译时))。就存储大小而言vector 用法,它与使用该语言的括号语法([])声明的普通数组一样有效。此类仅向其添加一层成员和全局函数,因此可以将数组用作标准容器。要知道的是,零大小的数组是有效的,但不应该取消引用
1.Array的模板形式为 class array;
2.Array的功能函数
array::begin-返回的是迭代器的开始
array::end-返回的是迭代器的末尾
array::-返回反向迭代器以反向开始
array::rend-返回反向迭代器以方向末尾
array::-指针指向的const类型,不能进行修改
array::cend-同理
array::data()-有两种形式一种是const,一种是非const,返回的是数组的内容
// array::data
#include
#include
#include
int main ()
{
const char* cstr = "www.linuxmi.com";
std::array<char,15> charray;
std::memcpy (charray.data(),cstr,15);
std::cout << charray.data() << 'n';
return 0;
}
在这里通过:函数将其定义的cstr复制到定义的数组内
运行结果:
array::-返回的是数组的最大长度
// array::max_size
#include
#include
int main ()
{
std::array<int,10> myints;
std::cout << "size of myints: " << myints.size() << 'n';
std::cout << "max_size of myints: " << myints.max_size() << 'n';
return 0;
}
运行结果为:
size of : 10
of : 10
的用法
-向量是表示可以改变大小的数组的序列容器。
与array相比来说,上面所说的一些基本类型都有,新增了,等一些类型
-往最后面加数据
// vector::push_back
#include
#include
int main ()
{
std::vector<int> myvector;
int myint;
std::cout << "Please enter some integers (enter 0 to end):n";
do {
std::cin >> myint;
myvector.push_back (myint);
} while (myint);
std::cout << "myvector stores " << int(myvector.size()) << " numbers.n";
return 0;
}
的用法
single element (1)
iterator insert (const_iterator position, const value_type& val);
fill (2)
iterator insert (const_iterator position, size_type n, const value_type& val);
range (3)
template <class InputIterator>
iterator insert (const_iterator position, InputIterator first, InputIterator last);
move (4)
iterator insert (const_iterator position, value_type&& val);
initializer list (5)
iterator insert (const_iterator position, initializer_list il);
代码实现
// inserting into a vector
#include
#include
int main ()
{
std::vector<int> myvector (3,100);
std::vector<int>::iterator it;
it = myvector.begin();
it = myvector.insert ( it , 200 );
myvector.insert (it,2,300);
// "it" no longer valid, get a new one:
it = myvector.begin();
std::vector<int> anothervector (2,400);
myvector.insert (it+2,anothervector.begin(),anothervector.end());
int myarray [] = { 501,502,503 };
myvector.insert (myvector.begin(), myarray, myarray+3);
std::cout << "myvector contains:";
for (it=myvector.begin(); it<myvector.end(); it++)
std::cout << ' ' << *it;
std::cout << 'n';
return 0;
}
运行结果 : 501 502 503 300 300 100 100 100
OK,就这样。
...END...
近期精彩内容推荐:
限时特惠:本站持续每日更新海量各大内部创业课程,一年会员仅需要98元,全站资源免费下载
点击查看详情
站长微信:Jiucxh
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。