#include "project4.h" #include//stdio.h #include #include #include using namespace std; int main() { //int v[]{ 12,13,14,15,16,18 }; //for (auto x:v) //把v的每一个值考入x中 //{ // cout << x << endl; //} //cout << "-----------------------" << endl; //for (auto x : {1,2,3,4,65,77,88}) //{ // cout << x << endl; //} //cout << "-----------------------" << endl; //for (auto &x : v) //x就相当于v 引用型 指针 //{ // cout << x << endl; //} //char str[100] = "i love you";//c语言方法 //string s1; //默认初始化 //string s2 = "i love you"; //string s3 = ("i love you"); //string s4 = s2; //int num = 6; //string s5(num, 'a');//6个 'a' // //cout << s5.length() << endl; //cout << s5.size() << endl; //cout << s3[5] << endl; vector intList; //C# 中的泛型 vector stringList; vector stringList2(stringList);//拷贝 vector stringList3 = stringList;//拷贝 vector stringList4 = { "abc","dce" };//初始化 vector str1(15, 200); //创建15个200的字符串 vector str2(10); vector str3{ "10" }; stringList.push_back("abcde"); stringList.push_back("fghij"); stringList.push_back("klmn"); for (size_t i = 0; i < str1.size(); i++) { cout << str1[i] << endl; } cout << "--------------------------------" << endl; for (auto &str1 :str1) { str1 *= 2; //所有元素乘以2 } cout << "--------------------------------" << endl; for (auto str1 : str1) { cout << str1 << endl; //相当于for each str1 *=2会报错 } cout << "--------------------------------" << endl; //for (auto str1 : str1) //{ // str1.push_back(200); //会报错 // cout << str1 << endl; //} //for (size_t i = 0; i < stringList.size(); i++) //{ // cout << stringList[i] << endl; //abcde fghij klmn //} vector stringList2(stringList);//拷贝 vector stringList3 = stringList;//拷贝 //C++中 内存详细分为5个区域: //(1)栈 一般是函数内部的局部变量,动态存储区,由编译器自动存储/分配和释放 //(2)堆 程序员malloc/new 分配,用free/delete释放。忘记释放后,系统会自动回收 // (3) 全局/静态变量:放全局/静态变量 static。 程序结束后系统释放 // (4) 常量存储区 // (5) 程序代码区 //栈和堆的区别 //(1) 栈 空间 有限。 这是系统int a = 4; 分配速度快,程序员控制不了。 //(2) 堆 :只要不超出实际物理内存,在 *** 作系统允许分配的最大内存大小之内,都可以进行分配。 //在c中用malloc和free()分配和释放,这两者是函数。memory allocation:动态内存分配 }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)