【C++】宣告 function 時,預設 map 初始值

前言:

  當我們在寫程式時,很常在 function 中預設初始值,但是有時 function 傳入的值為物件類別時,這時要如何設定初始值呢? 剛好在某一次的專案中,本人遇到此問題,困擾了我非常久,需要在 function 中預設 map 的初始值,經過多次的嘗試與多方的資料蒐集,終於成功讓 function 預設 map 的初始值。那我們廢話不多說,直接來看程式碼吧!

範例程式碼:

1. 引入 map

#include <map>

2. 宣告 Function

void TestMapFunction (std::map <int, int> _testMap = {})
{
	std::cout << "empty=" << _testMap.empty () << ", size=" << _testMap.size () << std::endl;
}

3-1. “不帶map參數” Call Function

TestMapFunction ();
結果:
empty=1, size=0

3-2. “帶map參數” Call Function

// 宣告 vector 並 塞值進入
std::map <int, int> testMap;
testMap.insert (std::make_pair (1, 1));
testMap.insert (std::make_pair (2, 2));

// 帶 vector Call Function
TestMapFunction (testMap);
結果:
empty=0, size=2

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

11 − five =