做h5網(wǎng)站pc加手機(jī)版要多少錢百度搜題網(wǎng)頁版入口
提示:文章
文章目錄
- 前言
- 一、背景
- 二、
- 2.1
- 2.2
- 總結(jié)
前言
前期疑問:
本文目標(biāo):
一、背景
最近
二、
2.1
c++ 結(jié)構(gòu)體默認(rèn)初始化
在C++中,結(jié)構(gòu)體的默認(rèn)成員初始化可以通過構(gòu)造函數(shù)來完成。如果沒有為結(jié)構(gòu)體提供構(gòu)造函數(shù),那么結(jié)構(gòu)體的成員將使用默認(rèn)構(gòu)造函數(shù)進(jìn)行初始化(對于內(nèi)置類型如int,double等,會(huì)被初始化為0)。
如果你想要為結(jié)構(gòu)體提供一個(gè)默認(rèn)的初始化值,你可以定義一個(gè)構(gòu)造函數(shù),并在其中設(shè)置默認(rèn)的成員值。
以下是一個(gè)簡單的例子:
struct Point {int x;int y;Point(int xVal = 0, int yVal = 0) : x(xVal), y(yVal) {} // 構(gòu)造函數(shù)
};int main() {Point p; // 使用默認(rèn)初始化,x = 0, y = 0Point q(10); // x = 10, y = 0Point r(20, 30); // x = 20, y = 30return 0;
}
在這個(gè)例子中,Point
結(jié)構(gòu)體有一個(gè)構(gòu)造函數(shù),它接受兩個(gè)參數(shù),這兩個(gè)參數(shù)分別用來初始化 x
和 y
成員。如果在創(chuàng)建 Point
對象時(shí)沒有提供參數(shù),那么 x
和 y
將使用默認(rèn)值0。如果提供了參數(shù),將使用提供的參數(shù)值來初始化 x
和 y
。
上述是百度Ai的回答。按照他的意思,如果c++的結(jié)構(gòu)體沒有提供構(gòu)造函數(shù),會(huì)使用默認(rèn)構(gòu)造函數(shù)進(jìn)行初始化。這邊需要驗(yàn)證。
但是其實(shí)寫一個(gè)用于初始化的構(gòu)造函數(shù)會(huì)更保險(xiǎn)。比如我在代碼中寫了結(jié)構(gòu)體的默認(rèn)構(gòu)造函數(shù)。
struct RoadDataInfoStruct
{int fromId;int toId;std::string roadInfo;std::vector<int> passTime;std::vector<int> waitTime;float passTimeRatio;bool passTimeRealTimeCountOverFlag;RoadDataInfoStruct(){fromId = 0;toId = 0;passTimeRatio 0.0f;passTimeRealTimeCountOverFlag = false;}
};typedef RoadDataInfoStruct RoadDataInfo;
總結(jié)
未完待續(xù)