(Translated by https://www.hiragana.jp/)
初始化 - 维基百科,自由的百科全书 とべ转到内容ないよう

はつはじめ

本页使用了标题或全文手工转换
维基百科ひゃっか自由じゆうてき百科ひゃっかぜん

はつはじめ英語えいごInitializationざい计算つくえ编程领域中指なかゆびかずすえ对象ある变量赋初值的做法,如何いかはつはじめ则取决于所用しょようてきほどじょ语言以及所要しょようはつはじめてき对象てきそん储类がたとう属性ぞくせいよう于进ぎょうはつはじめてきほどじょ结构则称为初はじめあるはつはじめれつひょうはつはじめ变量声明せいめいあかり显有别的,而且はつはじめ也先于变りょう声明せいめい进行,ただし两者ざい实践ちゅう仍常混淆こんこう

实现

[编辑]

はつはじめ以在编译时通过静态嵌入かんにゅう值来实现,也可以在运行时进行分配ぶんぱい。进行はつはじめてきだい部分ぶぶんしょう为“はつはじめだい码”,ただし部分ぶぶんだい可能かのう包含ほうがん其他てきいちせい使用しよう函数かんすうれい如打开文けん)。はたそん储单もと设为16进制0てき做法也称さくきよしじょ”,这一般在つくえだい级用异或指令しれいてき方式ほうしき实现(指令しれいてき两个操作そうさすう必须为相どうてき变量),いん为这需要じゅよう额外てきうちそん访问。

Cけい编程语言

[编辑]

はつはじめ

[编辑]

ざいC/C99/C++なかはつはじめ声明せいめいてき部分ぶぶん,它由いち个'='以及其后てきいちおもて达式ある含有がんゆう个以','へだた开的带圆括ごうひょう达式てきいちれつひょうしょ组成。きさきめん这一列表有时也被称为“はつはじめうつわれつひょう”(initializer list)あるはつはじめれつひょう”(initialization list),过initializer list也是C++ちゅうよう于初はじめある结构なかてき元素げんそてき保留ほりゅう

一个包含初始化的声明则通常被称为定义。すえC++标准规定,てい义是声明せいめいてきいち种;具体ぐたいらい说,声明せいめいただ需为函数かんすうあるかずすえ对象指定してい类型そく,而定义则还必须为其赋はつ值。所以ゆえん声明せいめいてい义”てきひさげほう严格らい说是じゅん确的,ただし这种说法仍被广为さいよう[1]

はつはじめれつひょう

[编辑]

いち个类/结构てき构造函数かんすう以在てい义中于构づくり函数かんすうたいぜん包含ほうがん一个初始化列表,よう以给类/结构てき元素げんそ赋初值。れい如如ほどじょだん

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

这里てき" : re(0), im(0)"就是はつはじめれつひょう

ゆう时“はつはじめれつひょう”这个术语也用らいゆびかずある结构はつはじめちゅうてきひょう达式ひょう

ざいC++0x标准中也ちゅうや以模いたてき形式けいしき提供ていきょうりょう一个更强力的初始化表的概念,そく为std:initializer_list。

だま认初はじめ

[编辑]

ざいほどじょさとすうすえはつはじめ可能かのうざいぼつゆう由明よしあき确的语法らい实现てきじょう况下进行。れい如说,如果いちせい态变りょうざいぼつゆうはつはじめそく指定していはつ值)てきじょう况下声明せいめい,则:

  1. 对于原生げんせいすうすえ类型:以对应类がたてきれい值进ぎょうはつはじめ
  2. 对于类中てきせい态对ぞうよし其默认的构造函数かんすうらい进行はつはじめ

参考さんこう

[编辑]
  1. ^ Cline, Lomow, and Girou, Addison-Wesley. C++ FAQs. 1999. ISBN 0-201-30983-1.