菜鸟笔记
提升您的技术认知

const 与 shared-ag真人游戏

注意: 需要c 11的支持

const 与 shared_ptr 之间的组合不是很常见,最多的也只是在传递参数时:

shared_ptr func(const shared_ptr &ptr) {
  
	*ptr  = 1;
	return ptr;
}

这里的 const shared_ptr &ptr和常规的 const t &p一样,这里的const都是顶层const,也就是说我们不能改变ptr的地址,也不能改变p的值。

常规的内置指针和const有以下组合:

	constexptr int a = 5;  // a定义在函数体之外。
	
	const int *ptr1 = &a;             // 指向整型常量 的 指针
	int const *ptr2 = &a;             // 指向整型    的 常量指针
	const int const *ptr3 = &a;       // 指向整型常量 的 常量指针
	constexpr int *ptr4 = &a;         // 指向整型    的 常量指针
	constexpr const int *ptr5 = &a;   // 指向整型常量 的 常量指针

shared_ptr与const也有一下组合:

    int a = 5;
	const shared_ptr ptr1 = make_shared(a);        // 指向整型    的 常量智能指针
	shared_ptr ptr1 = make_shared(a);        // 指向整型常量 的 智能指针
	const shared_ptr ptr3 = make_shared(a);  // 指向整型常量 的 常量智能指针
网站地图