当前位置: 首页 > news >正文

网站建设及经营应解决好的问题怎样在一个虚拟服务器里做两个网站

网站建设及经营应解决好的问题,怎样在一个虚拟服务器里做两个网站,惠州网站建设 惠州邦,宁波网站推广方式怎么样📝前言: 这篇文章我们来讲讲C11引入的列表初始化{},注意这不是构造函数里的初始化列表!!! 在阅读文章之前,请你记住一句重点:万物皆可{}初始化 🎬个人简介:努…

📝前言:
这篇文章我们来讲讲C++11引入的列表初始化{},注意这不是构造函数里的初始化列表!!!
在阅读文章之前,请你记住一句重点万物皆可{}初始化

🎬个人简介:努力学习ing
📋个人专栏:C++学习笔记
🎀CSDN主页 愚润求学
🌄其他专栏:C语言入门基础,python入门基础,python刷题专栏,Linux


列表初始化

  • 一,C++98 的 {}
  • 二,C++11 的 {}
    • 初始化内置类型
    • 初始化自定义类型
    • 隐式类型转换
    • initializer_list

一,C++98 的 {}

C++98 中,一般数组结构体可以用{}进行初始化
如:

struct Date
{Date(int year = 1945, int month = 9, int day = 3):_year(year),_month(month),_day(day){}int _year;int _month;int _day;
};int main()
{// 数组int a[] = { 1,2,3,4 };// 结构体Date d1 = { 2025, 4, 25 };return 0;
}

二,C++11 的 {}

C++11 以后,⼀切对象皆可用{}初始化{}初始化也叫做列表初始化)

{}初始化的特点:

  • 内置类型支持,自定义类型也支持,自定义类型本质是类型转换,中间会产生临时对象,优化了以后变成直接构造
  • {}初始化的过程中,可以省略掉=(两者在编译器不优化时,过程略有区别)

初始化内置类型

以下三种写法效果相同⬇️

int a = 11;
int b = { 11 };
int c{ 11 };

在这里插入图片描述

初始化自定义类型

以下两种写法结果相同,但过程略有区别⬇️

Date d1 = { 2025 };
Date d2{ 2025, 4 };

本质:

  • d1:先用{2025}构造一个Date临时对象(第二、三个参数用缺省值),再用临时对象拷贝构造d1。(编译器优化,合二为一以后就是:用{2025}直接构造d1
  • d2:直接使用提供的初始化值 { 2025, 4 } 来调用 Date 合适的构造函数(即使编译器不优化也是一样)

其他引用场景⬇️

vector<Date> v;
v.push_back(d1); // 插入有名对象
v.push_back(Date(2025, 1, 1)); // 插入匿名对象// 更好用的:用{2025, 1, 1}构造一个临时对象
v.push_back({ 2025, 1, 1 });

隐式类型转换

再看Date d1 = { 2025 };:其实是调用构造函数进行隐式类型转换,即:2025变成Date类型

C++98 已经支持了单参数构造函数的隐式类型转换

Date d1 = { 2025 };
Date d2 = 2025; //与 d1 效果相同

C++11 以后,也支持多参数的:

Date d3 = { 2025, 4, 25 };

如果,想禁止构造函数用于隐式类型转换,可以在构造函数之前加:explicit

explicit Date(int year = 1945, int month = 9, int day = 3)
// 以下就无法执行:
// Date d1 = { 2025 };
// Date d3 = { 2025, 4, 25 };

在这里插入图片描述

initializer_list

initializer_list{}初始化插上翅膀!
在这里插入图片描述
在这里插入图片描述
std::initializer_list的本质是底层开⼀个数组,将数据拷贝过来,内部有两个指针分别指向数组的开始和结束

有什么作用呢?

STL中的容器都增加了⼀个initializer_list的构造,容器的赋值也支持使用initializer_list

示例1:

vector<int> v1{ 1,2,3,4,5 }; // 和 vector<int> v1({ 1,2,3,4,5 }); 一样
vector<int> v2 = { 1,2,3,4,5 };

说明:

  • v1:直接用initializer_list: {1,2,3,4,5}来构造
  • v2:用initializer_list: {1,2,3,4,5}构造一个临时对象,然后再用临时对象拷贝构造v2【不过编译器优化成:{1,2,3,4,5}直接构造v2

示例2:

map<string, string> dict1{ {"left","左边"},{"right", "右边"}};

说明:
{"left","左边"}隐式类型转换成pair,然后用一个元素为pairinitializer_list直接构造dict1

示例3:

vector<int> v3;
v3 = { 10,20,30,40,50 };

说明:
initializer_list的赋值支持


🌈我的分享也就到此结束啦🌈
要是我的分享也能对你的学习起到帮助,那简直是太酷啦!
若有不足,还请大家多多指正,我们一起学习交流!
📢公主,王子:点赞👍→收藏⭐→关注🔍
感谢大家的观看和支持!祝大家都能得偿所愿,天天开心!!!

http://www.dtcms.com/a/583791.html

相关文章:

  • php旅游网站cmswordpress怎么卸载主题
  • 电商网站建设相关书籍推荐祥云平台技术支持双语网站
  • 程序员找工作的网站创建公司官网
  • 网站友链怎么添加做网站系统的过程
  • 建网站英文将wordpress部署
  • 湘潭做网站口碑好磐石网络电子产品去什么网站做站点
  • 深圳网站建设 设计卓越迈wordpress悬浮下拉
  • 全景效果图网站医院线上预约
  • 纺织网站制作123纺织网wordpress 表单附件
  • 做国外电影网站新网做网站怎么上传
  • 2_ 如何写一份详细的网站开发方案php网站开发权限管理
  • 东莞市手机网站建设多少钱深圳宣传片制作排名前十名
  • 禹城网站制作网站浏览器兼容性通用
  • 做网站和做阿里巴巴辽宁网站开发
  • auto 自动类型推导以及注意事项
  • 网站开发形成收入怎么做帐常州公司网站模板建站
  • 综合网页设计电商网站优化方案
  • 做推广哪家网站好做网站可以盈利吗
  • seo网站优化系统下载班级优化大师并安装
  • 3.4、Python-集合
  • 建设家具网站的目的及功能定位淘宝页面设计模板
  • 免费 个人 网站网站开发及技术
  • 网站建设与开发定制大学生asp网站开发的实训周
  • 运城盐湖区姚孟信通网站开发中心机机票网站建设
  • 【Java SE 基础学习打卡】03 计算机中数据的表示、存储与处理
  • 优质专业建设申报网站wordpress建站平台
  • 通辽网站建设tlyltd网站建设有趣小游戏
  • 徐州地区网站建设12306网站建设团队
  • 樱桃电视剧西瓜视频在线观看长沙网站seo收费标准
  • 亚马逊seo什么意思百度seo技术优化