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

上海公司网站开发成人短期培训能学什么

上海公司网站开发,成人短期培训能学什么,晋城政府网站建设,从事网站开发的想考研C 变量初始化方式详解 1. 基本数据类型(如 int、float、double、char 等) 1.1 直接初始化 通过赋值符号初始化: int a 10; // 使用赋值符号初始化 float b 3.14f; // 使用赋值符号初始化 double c 2.718; // 使用赋值符号初始化…

C++ 变量初始化方式详解

1. 基本数据类型(如 intfloatdoublechar 等)

1.1 直接初始化

通过赋值符号初始化:

int a = 10;       // 使用赋值符号初始化
float b = 3.14f;  // 使用赋值符号初始化
double c = 2.718; // 使用赋值符号初始化
char d = 'A';     // 使用赋值符号初始化

1.2 圆括号初始化

通过构造函数风格的圆括号初始化:

int a(10);       // 使用圆括号初始化
float b(3.14f);  // 使用圆括号初始化
double c(2.718); // 使用圆括号初始化
char d('A');     // 使用圆括号初始化

1.3 花括号初始化(C++11 及以上)

统一初始化语法,更安全:

int a{10};       // 使用花括号初始化
float b{3.14f};  // 使用花括号初始化
double c{2.718}; // 使用花括号初始化
char d{'A'};     // 使用花括号初始化

1.4 默认初始化

未显式初始化时的行为:

  • 全局变量/静态变量:初始化为 0
  • 局部变量:未定义(垃圾值)。
int global_var;      // 全局变量,默认初始化为 0
static int static_var; // 静态变量,默认初始化为 0void func() {int local_var;    // 局部变量,未初始化,值是未定义的
}

2. 复合数据类型(如 std::stringstd::vector 等)

2.1 直接初始化

std::string str = "Hello";        // 使用赋值符号初始化
std::vector<int> vec = {1, 2, 3}; // 使用赋值符号和列表初始化

2.2 圆括号初始化

std::string str("Hello");        // 使用圆括号初始化
std::vector<int> vec(3, 10);     // 创建包含 3 个 10 的向量

2.3 花括号初始化

std::string str{"Hello"};        // 使用花括号初始化
std::vector<int> vec{1, 2, 3};   // 使用花括号初始化

2.4 默认初始化

调用默认构造函数:

std::string str;    // 默认初始化为空字符串
std::vector<int> vec; // 默认初始化为空向量

3. 自定义数据类型(类和结构体)

3.1 直接初始化

class MyClass {
public:int x;MyClass(int val) : x(val) {} // 构造函数
};
MyClass obj = MyClass(10);      // 使用赋值符号和构造函数初始化

3.2 圆括号初始化

MyClass obj(10); // 使用圆括号和构造函数初始化

3.3 花括号初始化

MyClass obj{10}; // 使用花括号和构造函数初始化

3.4 默认初始化

调用默认构造函数:

class MyClass {
public:int x;MyClass() : x(0) {} // 默认构造函数
};
MyClass obj; // 默认初始化,调用默认构造函数

4. 数组

4.1 直接初始化

int arr[] = {1, 2, 3, 4}; // 使用赋值符号和列表初始化

4.2 花括号初始化

int arr[]{1, 2, 3, 4};    // 使用花括号初始化

4.3 默认初始化

  • 全局/静态数组:所有元素初始化为 0
  • 局部数组:未初始化(垃圾值)。
int global_arr[5];      // 全局数组,默认初始化为 0
static int static_arr[5]; // 静态数组,默认初始化为 0void func() {int local_arr[5];   // 局部数组,未初始化
}

5. 指针

5.1 直接初始化

int* ptr = nullptr;     // 初始化为 nullptr
int* ptr = &a;          // 初始化为变量地址

5.2 圆括号初始化

int* ptr(nullptr);      // 使用圆括号初始化
int* ptr(&a);           // 使用圆括号初始化

5.3 花括号初始化

int* ptr{nullptr};      // 使用花括号初始化
int* ptr{&a};           // 使用花括号初始化

5.4 默认初始化

未显式初始化时为未定义值:

int* ptr; // 未初始化,值是未定义的

6. 枚举类型

6.1 直接初始化

enum Color { RED, GREEN, BLUE };
Color color = RED; // 使用赋值符号初始化

6.2 圆括号初始化

Color color(RED); // 使用圆括号初始化

6.3 花括号初始化

Color color{RED}; // 使用花括号初始化

6.4 默认初始化

未显式初始化时为未定义值:

Color color; // 未初始化,值是未定义的

7. 联合体(Union)

7.1 直接初始化

union Data {int i;float f;char str[20];
} data = {10}; // 初始化第一个成员

7.2 花括号初始化

union Data {int i;float f;char str[20];
} data{10}; // 初始化第一个成员

7.3 默认初始化

未显式初始化时,第一个成员的值是未定义的:

union Data data; // 未初始化,第一个成员的值是未定义的

8. 结构体(Struct)

8.1 直接初始化

struct Point {int x, y;
} p = {10, 20}; // 使用赋值符号和列表初始化

8.2 花括号初始化

struct Point {int x, y;
} p{10, 20}; // 使用花括号初始化

8.3 默认初始化

调用默认构造函数:

struct Point {int x, y;Point() : x(0), y(0) {} // 默认构造函数
};
Point p; // 默认初始化,调用默认构造函数

9. 初始化列表(C++11 及以上)

使用花括号 {} 初始化对象:

int arr[]{1, 2, 3, 4};                  // 数组
std::vector<int> vec{1, 2, 3, 4};        // 标准库容器
std::pair<int, double> p{10, 3.14};      // 标准库 pair
std::map<int, std::string> m{{1, "one"}, {2, "two"}}; // 标准库 map

10. 统一初始化(C++11 及以上)

使用 {} 初始化所有类型:

int a{10};                   // 基本数据类型
std::string str{"Hello"};    // 标准库类型
std::vector<int> vec{1,2,3}; // 容器
MyClass obj{10};             // 自定义类

优点

  • 类型安全(禁止隐式窄化转换)。
  • 语法一致性。
  • 简洁性。

注意事项

  • 类有显式构造函数时不能使用。
  • 空列表会调用默认构造函数。

11. 值初始化

显式初始化为默认值:

int a{};        // 初始化为 0
float b{};      // 初始化为 0.0f
std::string str{}; // 调用默认构造函数

12. 零初始化

显式初始化为 0

int global_var = 0;    // 全局变量显式初始化为 0
static int static_var = 0; // 静态变量显式初始化为 0

13. 聚合初始化(C++11 及以上)

初始化聚合类型(无构造函数、公有成员):

struct Point {int x, y;
};
Point p{10, 20}; // 聚合初始化

14. 委托构造函数(C++11 及以上)

构造函数调用其他构造函数:

class MyClass {
public:MyClass(int val) : x(val) {} // 主构造函数MyClass() : MyClass(0) {}    // 委托构造函数
private:int x;
};

总结

初始化方式语法示例适用场景
直接初始化int a = 10;简单类型显式赋值
圆括号初始化int a(10);显式调用构造函数
花括号初始化int a{10};类型安全、统一语法
默认初始化int a;全局/静态变量(初始化为 0)
值初始化int a{};显式初始化为默认值
聚合初始化Point p{10, 20};无构造函数的聚合类型
委托构造函数MyClass() : MyClass(0){}简化构造函数逻辑
http://www.dtcms.com/wzjs/354827.html

相关文章:

  • php网站开发实践营销推广活动策划方案
  • 找人做网站都要提供什么中囯军事网
  • 做任务刷王者皮肤网站seo优化搜索结果
  • 惠州h5网站建设免费广告发布平台
  • 赣州做网站哪家好百度人工智能开放平台
  • 网页设计一般多大尺寸seo关键字排名优化
  • 做网站含营销怎么自己刷推广链接
  • iis2008如何做网站人工智能培训机构
  • 做的新网站到首页又下去了互联网营销师证书含金量
  • 淘宝客网站开发网络运营师资格证
  • 响应式web设计实践深圳seo优化推广公司
  • 天津培训网站建设宽带推广方案
  • 网站建设沈阳黑帽seo教程
  • 如果网站已被入侵360推广登录入口官网
  • 定州住房和城乡建设局网站南昌seo代理商
  • 淘宝客如何建立自己的网站怎么查百度竞价关键词价格
  • 制作介绍的网站模板网站制作维护
  • 微商城小程序app开发免费发seo外链平台
  • 报名网站怎么做上海牛巨微seo
  • 网站建设seo 视频教程什么是电商平台推广
  • 大连网站代运营的公司有哪些怎么在百度上投放广告
  • 建设网站企业网上银行登录入口官方西安优化seo
  • 微信推广和网站推广哪个好快手推广网站
  • 做商业广告有什么网站好推销的深圳网站建设的公司
  • b2b专门做机械的网站百度一下首页百度
  • 做书app下载网站有哪些内容百度小程序入口官网
  • 精选南昌网站建设公司西安今日头条新闻
  • 有哪些做海报的网站网络营销论文题目
  • 吉林网站备案搜一搜搜索
  • 北京政府网官网seo排名优化教学