五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Pylist的C++語言實現(xiàn)

2023-08-25 19:25 作者:YULINKING  | 我要投稿

我現(xiàn)在是一個在讀高三牲,平常的愛好就是搗鼓程序,我主要是用python語言的,但是我以前的信息老師說單學習一門語言對未來的工作是不利的,于是我現(xiàn)在經(jīng)常搞一些為學校專供的項目,都是基于多種(語言)開發(fā)的,現(xiàn)在差不多是全棧程序員。 最近開始搗鼓C++,希望能用C++來搞定我以前用Python開發(fā)的項目以提高效能和降低資源占用,但是我以前的項目都涉及到了多類型的列表,C++都是固定類型的,這對我很不利,但是以前也接觸過C語言,也算有一點了解,所以在網(wǎng)上沖浪找答案無果后我開始獨立構思,并且付諸實踐

這是我最開始的思路:首先建立一個PyType類,內(nèi)有類成員變量 char *valueType;

auto getValue();

我試圖用再賦值的方式來控制返回值的類型: auto getValue(){

return value;

}

this->getValue=getValue;

但是沒一會就發(fā)現(xiàn)好像沒辦法賦值。。。 難道就要止步于此了嗎? 不不不,我發(fā)現(xiàn)了這個: template

那么到這里邏輯就很清晰了,直接做一個容器PyType,用 private:

??std::string valueType;

??void* value;

先聲明變量value 接著就可以在初始化函數(shù)里完成一系列的邏輯了, 最后在PyList中一個一個的把用戶傳入的value賦值給PyType,然后儲存到std::vector values;中 在校生本來時間也不充裕就講到這吧,代碼貼出來大家研究一下 #include #include #include #include class PyType { private: ??std::string valueType; ??void* value; public: ??template ??PyType(T __value__) { ????valueType = typeid(__value__).name(); ????value = new T(__value__); ??} ??template ??T getValue() { ????return *static_cast(value); ??} ??std::string getType() { ????return valueType; ??} }; class PyList { private: ??std::vector values; public: ??PyList() {} ??template ??void append(T value) { ????values.push_back(PyType(value)); ??} ??template ??T get(int index) { ????return values[index].getValue(); ??} ??std::string getType(int index){ ????return values[index].getType(); ??} ??int getlength(){ ????return(values.size()); ??} }; int main() { ??PyList mylist; ??mylist.append(10); ??mylist.append("Hello"); ??mylist.append(3.14); ??mylist.append(" Hello World! "); ??for(int i=0;i<100;i++){ ????mylist.append(i); ??} ??// std::cout << "Element at index 0: " << mylist.get(0) << std::endl; ??// std::cout << "Element at index 1: " << mylist.get(1) << std::endl; ??// std::cout << "Element at index 2: " << mylist.get(2) << std::endl; ??for(int i=0;i(i); ????}else if (typeofValue=="NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"){ ??????std::cout<(i); ????}else if (typeofValue=="d"){ ??????std::cout<(i); ????} ????//添加換行符 ????std::cout<

Pylist的C++語言實現(xiàn)的評論 (共 條)

分享到微博請遵守國家法律
墨玉县| 即墨市| 石首市| 云阳县| 延吉市| 金华市| 奎屯市| 宝清县| 元朗区| 霍林郭勒市| 平果县| 馆陶县| 伊川县| 丹寨县| 庄浪县| 深泽县| 阿拉善右旗| 岳阳市| 澄迈县| 竹山县| 克什克腾旗| 保定市| 翼城县| 巨鹿县| 佛冈县| 英德市| 满城县| 屯门区| 青岛市| 恭城| 镇雄县| 饶河县| 炉霍县| 淅川县| 林甸县| 洞头县| 永嘉县| 敖汉旗| 青川县| 沙湾县| 台南县|