初始化

✍ dations ◷ 2025-11-16 00:01:34 #计算机编程

初始化(英语:Initialization)在计算机编程领域中指为数据对象或变量赋初值的做法,如何初始化则取决于所用的程序语言以及所要初始化的对象的存储类型等属性。用于进行初始化的程序结构则称为初始化器或初始化列表。初始化和变量声明是明显有区别的,而且初始化也先于变量声明进行,但两者在实践中仍常被混淆。

初始化可以在编译时通过静态嵌入值来实现,也可以在运行时进行分配。进行初始化的代码部分称为“初始化代码”,但这部分代码可能还包含其他的一次性使用函数(例如打开文件)。将存储单元设为16进制0的做法也称作“清除”,这一般在机器代码级用异或指令的方式实现(指令的两个操作数必须为相同的变量),因为这不需要额外的内存访问。

在C/C99/C++中,初始化器是声明器的可选部分,它由一个'='以及其后的一个表达式(或含有多个以','隔开的带圆括号表达式的单一列表)所组成。后面这一列表有时也被称为“初始化(器)列表”(initializer list)或”初始化列表”(initialization list),不过initializer list也是C++中用于初始化类或结构中的元素的保留字。

一个包含初始化的声明则通常被称为定义。根据C++标准规定,定义是声明的一种;具体来说,声明只需为函数或数据对象指定类型即可,而定义则还必须为其赋初值。所以“声明和定义”的提法严格来说是不准确的,但这种说法仍被广为采用。

一个类/结构的构造函数可以在定义中于构造函数体前包含一个初始化列表,用以给类/结构的元素赋初值。例如如下程序段:

  struct int_complex {    int re, im;    int_complex() : re(0), im(0) { }  };

这里的" : re(0), im(0)"就是初始化列表。

有时“初始化列表”这个术语也用来指数组或结构初始化器中的表达式表。

在C++0x标准中也以模板的形式提供了一个更强力的初始化表的概念,即为std:initializer_list。

在程序里,数据初始化也可能在没有由明确的语法来实现的情况下进行。例如说,如果一个静态变量在没有初始化(即未指定初值)的情况下被声明,则:

相关

  • 聚碳酸酯聚碳酸酯(英语:Polycarbonate, PC)是一种无色透明的无定性热塑性材料。其名称来源于其内部的CO3基团。聚碳酸酯,耐酸、不耐油,不耐紫外线,不耐强碱。聚碳酸酯无色透明,耐热,抗冲击,阻
  • 留基伯留基伯(希腊文:.mw-parser-output .Polytonic{font-family:"SBL BibLit","SBL Greek","EB Garamond","EB Garamond 12","Foulis Greek",Cardo,"Gentium Plus",Gentium,"Theano
  • 28S28S rRNA(rRNA意为核糖体RNA(ribosomal RNA))是组成真核生物核糖体大亚基的核糖体RNA,是所有真核细胞都会含有的化学组分之一。28S rRNA和原核生物的23S rRNA具有同源性。编码28S
  • 奥德修斯奥德修斯(奥德赛斯,希腊语:Ὀδυσσεύς,转写:Odysseus)也作“尤利西斯”(拉丁语:Ulixes,转写:Ulysses),是传说中希腊西部伊萨卡岛之王,拉厄耳忒斯子,阿尔克修斯孙。曾参加特洛伊战争
  • 自然发生论自然发生或者异种生成是一套关于物种起源的思想,认为现今的生物体是在无机物中自然产生的,此理论目前普遍不被科学界所接受。在这个逻辑下,生物如跳蚤可能来自无生命物质如灰尘
  • 孙德胜孙德胜(越南语:Tôn Đức Thắng,1888年8月20日-1980年3月30日),他是越南共产党、越南民主共和国和越南社会主义共和国的主要缔造者和领导人之一。继胡志明后任越南国家主席。孙
  • 阿片罂粟罂粟(学名:Papaver somniferum),即鸦片罂粟(英语:Opium poppy),是罂粟科植物,是制取鸦片的主要原料,同时其提取物也是多种镇静剂的来源,如吗啡、蒂巴因、可待因、罂粟碱、那可汀(英语:Nos
  • 日韩合并条约日韩合并条约(日语:韓國併合ニ関スル條約,韩语:한일 병합 조약 / 韓日倂合條約),是由大韩帝国总理李完用与大日本帝国代表寺内正毅于1910年8月22日签订的条约,将韩国的主权割与日本
  • 加利福尼亚大学尔湾分校加利福尼亚大学欧文分校(英语:University of California, Irvine;缩写:UCI 或 UC Irvine),简称加州大学欧文分校,是一所位于美国加利福尼亚州欧文的公立研究型大学,它是加利福尼亚
  • 舞吧舞吧在一起邹承恩、魏如昀、黄河 杨奇煜、唐振刚、曾少宗《舞吧舞吧在一起》(英语:),2015年三立华人电视剧周日十点档系列的首部亦为最后一部作品。由导演廖士涵、巫国熙执导、怡佳娱乐经