设为首页 加入收藏

TOP

C++中的数组array和vector,lambda表达式,C字符串加操作,C++中新类型数组(数组缓存),多元数组,new缓冲(二)
2015-07-20 17:53:43 来源: 作者: 【 】 浏览:4
Tags:array vector lambda 表达式 字符串 操作 中新 类型 多元 new 缓冲
111);

myvector.push_back(2);

//弹出一个元素,删除最后一个

myvector.pop_back();

//插入

myvector.insert(myvector.begin() + 1,999);

//根据迭代器的位置

myvector.erase(myvector.begin() + 5);

//myvector.clear(); //删除所有元素

for (int i = 0; i < myvector.size();i++)

{

if (1)

{

//查询,修改

}

std::cout << myvector.at(i) << std::endl;

}

system("pause");

}

10.vector中的元素也是vector

#include

#include

#include //算法 lambda表达式,不仅仅适用于array,也适用于vector

void main()

{

//可以实现动态无规则数组管理

std::vector myvector1;

myvector1.push_back(12);

myvector1.push_back(13);

myvector1.push_back(14);

std::vector myvector2;

myvector2.push_back(22);

std::vector myvector3;

myvector3.push_back(32);

myvector3.push_back(37);

std::vector > allvecor;

allvecor.push_back(myvector1);

allvecor.push_back(myvector2);

allvecor.push_back(myvector3);

for (int i = 0; i < allvecor.size();i++)

{

for (int j = 0; j < allvecor[i].size();j++)

{

std::cout << " " << allvecor[i][j];

}

std::cout << "\n";

}

std::cin.get();

}

11.C++中的数组可以直接赋值

#include

#include

#include

#include

void main()

{

double db[4] = { 1.1, 2.2, 3.3, 4.4 };

//std::array数据类型,double元素类型,4个数

std::array dbnew1 = { 10.1, 10.2, 10.3, 10.4 };

//可以实现数组之间整体操作

std::array dbnew2 = dbnew1;

for (int i = 0; i < 4; i++)

{

std::cout << db[i] << " " << dbnew1[i] << " " << dbnew2[i] << std::endl;

}

std::cin.get();

}

运行结果:

\

12.array的字符串<??http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KCjxwIGFsaWduPQ=="left">#include

#include

#include

#include

void main()

{

std::array string1 = { "calc", "notepad", "tasklist", "mspaint", "write" };

for (int i = 0; i < 5; i++)

{

std::cout << string1[i] << std::endl;

system(string1[i].c_str());

}

std::cin.get();

}

12.C++可以加操作

#include

#include

#include

#include

void main()

{

std::string str1 = "task";

std::string str2 = "list";

std::string str3 = str1 + str2;

system(str3.c_str());

std::cin.get();

}

13.new的高级,缓冲区

#include

#include

const int buf(512);//限定一个常量整数512

int N(5);//数组的长度

char buffer[buf] = { 0 };//静态区

//p1,p3,p5作为指针变量在栈区,存储的地址指向堆区

//手动释放内存

//p2,p4,p6作为指针变量在栈区,存储的地址在静态区。缓冲区。

//自动释放内存,用于分配用完了就不会再用的数据

//避免内存泄漏,自动释放内存。牺牲了内存访问独立性,

using namespace std;

void main()

{

double *p1, *p2;

std::cout << "\n\n\n";

p1 = new double[N];//分配内存,N个元素的大小

p2 = new (buffer)double[N];//指定区域分配内存

for (int i = 0; i < N; i++)

{

p1[i] = p2[i] = i + 10.8;//对于数组初始化

std::cout << "p1=== " << &p1[i] << " " << p1[i];

std::cout << " p2=== "<< &p2[i] << " " << p2[i] << std::endl;

}

double *p3, *p4;

std::cout << "\n\n\n";

p3 = new double[N];//分配内存,N个元素的大小

p4 = new (buffer)double[N];//指定区域分配内存

for (int i = 0; i < N; i++)

{

p3[i] = p4[i] = i + 10.8;//对于数组初始化

std::cout << "p3=== " << &p3[i] << " " << p3[i];

std::cout << " p4=== "<< &p4[i] << " " << p4[i] << std::endl;

}

double *p5, *p6;

std::cout << "\n\n\n";

p5 = new double[N];//分配内存,N个元素的大小

p6 = new (buffer)double[N];//指定区域分配内存

for (int i = 0; i < N; i++)

{

p6[i] = p5[i] = i + 10.8;//对于数组初始化

std::cout << "p5=== " << &p5[i] << " " << p5[i];

std::cout << " p6=== "<< &p6[i] << " " << p6[i] << std::endl;

}

std::cin.get();

}

14.多元数组

#include

#include

//void在参数内部意味着参数为空,不写也意味着为空

void main(void)

{

int int1 = 10;

double double1 = 99.8;

char ch = 'A';

char *str = "hellochina";

std::tuple mytuple(int1, double1, ch, str);

const int num = 3;

auto data0 = std::get<0>(mytuple);

auto data1 = std::get<1>(mytuple);

auto data2 = std::get<2>(mytuple);

auto data3 = std::get (mytuple);//下标只能是常量

std::cout << typeid(data3).name() << std::endl;

decltype(data0) dataA; //获取数据类型再次创建

//mytuple.swap(mytuple); array vector都有交换的功能

std::cout << data0 << " " << data1 << " " << data2 << " " << data3 << std::endl;

std::cin.get();

}

//tuple必须是一个静态数组

//配合vector,array

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇引用内部函数绑定机制,R转义字符.. 下一篇bnu 34988 Happy Reversal

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: