C++ vector
容器对象头文件
#include < vector >
引用写法及特性
//C++引用
#include<iostream>
#include<string>
using namespace std;
int main()
{
int ival = 10;
int &refVal = ival;
//引用必须被初始化 类型 & 引用名称 = 被引用对象
//引用和初始化对象时绑定关系 和变量名绑定一个对象 不分配内存(别名)
//指针可以不初始化 指针分配内存
refVal = 4;
//覆盖
//绑定后 不可改变绑定
int &ra = ival;
int &rb = ra;
//rb绑定a 多重绑定
return 0;
}
#endif // 1
#if 0
#include<iostream>
int main()
{
int a = 3;
//引用绑定时严格类型匹配
float b = 3.14;
//int &a1 = b;
//引用不是确切的对象 只是和已知的对象绑定 不存在引用的引用
}
#endif // 1
#if 0
#include<iostream>
using namespace std;
int main()
{
//C是只读变量 C++时常量
const int a = 3;
const int &ra = a;
//ra = 9;
//const 不可赋值改变
return 0;
}
#endif // 1
#if 1
int main()
{
//foo(3.*p, c);
//foo(int a, int *pd, int&c)
//变量个指针创建了副本 引用不创建
//类型必须完全匹配才可以建立引用关系
//X不能返回局部对象的引用/指针
//int& foo()
//{
// int a;
// return a;
//}
}
#endif // 1
vector容器对象
#if 1
int main()
{
//vector<T> v1; //T类型
vector<int> v1; //容器自动增长
vector<float> fvec;//类型 对象(类型的实例) 变量类型 变量名
//vector<>动态数组
//1.存储同一类型的元素
//2.可以动态增长 却决于内存限制 数组编译期确定了大小
vector<int> v2(v1); //v1初始化v2 拷贝
vector<int> v3 = v1;
//vector<int> v4(n, val);
vector<int> v4(10, -1);//十个-1
vector<int> v5(10);//当前类型默认值初始化
//列表初始化
vector<string>v6{ "a","666","12322" };
vector<string>v7 = { "a","666","12322" };
//原始视图 向量内部是如何使用的
//引用对象不是一个确切的对象 不能集合 //vector<int &> v8
vector<bool> vbools;// 是容器不是STL(标准模板类)容器
}
#endif // 1