1、std::array的几个常见用法  (数组)

std::array<int, 2> studentId{ 1001,1002 };  2个学生学号
std::array<int, 2> teacherId{ 1001,1002 };  2个教师编号
 
std::cout << (studentId == teacherId) << std::endl;  判断两数组是否相等

std::cout << studentId.at(1) << std::endl;   输出数组第1个数

std::cout << studentId.size() << std::endl;  输出数组中元素个数

studentId.fill(999);  数组元素全填999

for (int x : studentId) {   打印数组中所有元素
	std::cout << x << std::endl;
}

2、vector的常见用法

std::vector<int> studentId{ 1,2,3,4 };  初始化数组
std::cout << studentId.size() << std::endl;   数组中几个元素,输出为4

std::vector<int> studentId;  里面没有元素
std::cout << studentId.size() << std::endl;   数组中几个元素,输出为0

std::vector<int> studentId(5,100);  vector里有5个元素,元素值为100
std::cout << studentId.size() << std::endl;   数组中几个元素,输出为5
for (int x : studentId) {  输出 100 100 100 100 100
	std::cout << x << std::endl;    
}

studengtId.clear();  清空数组
std::cout << studentId.size() << std::endl;   数组中几个元素,输出为0
std::vector<int> studentId;  创建一个数组长度为0
std::cout << studentId.size() << std::endl;   0
do 
{
	int id;
	std::cin >> id;
	if (!id) break;   输入0则退出
	studentId.push_back(id);  动态添加数组成员(and 长度)
} while (1);
std::cout << studentId.size() << std::endl;  输入的个数

studengtId.assign(10,100);  将studentId重新初始化为拥有10个元素,每个元素为100的vector

3、C++中的动态内存分配 new

数据类型* 指针变量名称 = new 数据类型;
int* pa = new int;


数据类型* 指针变量名称 = new 数据类型[数量];
int* pa = new int[5];   分配一段能够存放5个int变量类型的内存空间

注*  分配失败pa返回0

释放
delete p;
delete[] p;

4、 memcpy()内存赋值函数

void* memcpy(void* _Dst,const void* _Src,size_t Size);
memcpy可以将_Src区域的内存复制到_Dst区域,复制长度为_Size

例:

int studentId[5]{ 100,101,102,103,104 };
int* p = new int[5];
memcpy(p, &studentId, 5 * sizeof(int));

for (int i = 0; i < 5; i++) {
	std::cout << p[i] << std::endl;
}

5、memset()设置内存

void* memset(void* _Dst,int val,size_t _Size);
memset可以将_Src内存区域的每一个字节的值都设置为val,_Size为要设置的长度(字节)

例:

int* p = new int[100];
memset(p,0,100*sizeof(int));

 

 

Logo

一站式 AI 云服务平台

更多推荐