最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++超集C++/CLI模塊的基本類型

 更新時間:2022年07月04日 11:12:36   作者:天方  
這篇文章介紹了C++超集C++/CLI模塊的基本類型,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

數(shù)值類型

對于基本的數(shù)值類型,在C++/CLI中是可以直接映射為托管類型的數(shù)值的,可以同時應(yīng)用于托管類型和非托管類型,編譯器會將其自動轉(zhuǎn)換。

基本類型

System命名空間中對應(yīng)的類

注釋/用法

bool

System::Boolean

bool dirty = false;

char

System::SByte

char sp = ' ';

signed char

System::SByte

signed char ch = -1;

unsigned char

System::Byte

unsigned char ch = '\0';

wchar_t

System::Char

wchar_t wch = ch;

short

System::Int16

short s = ch;

unsigned short

System::UInt16

unsigned short s = 0xffff;

int

System::Int32

int ival = s;

unsigned int

System::UInt32

unsigned int ui = 0xffffffff;

long

System::Int32

long lval = ival;

unsigned long

System::UInt32

unsigned long ul = ui;

long long

System::Int64

long long etime = ui;

unsigned long long

System::UInt64

unsigned long long mtime = etime;

float

System::Single

float f = 3.14f;

double

System::Double

double d = 3.14159;

long double

System::Double

long double d = 3.14159L;

字符串

字符串CLI已經(jīng)內(nèi)置了:System::String,但C++的常用字符串有char*、wchar_t*、std::string等好多種,編譯器提供了char*、wchar_t*到System::String的自動轉(zhuǎn)換:

System::String^ s = "hello worold";
System::String^ s2 = L"hello worold";

另外,也可以使用gcnew創(chuàng)建托管字符串:

System::String^ s = gcnew String("hello worold");

但是,對于System::String轉(zhuǎn)char*,系統(tǒng)沒有直接的語法支持。方法有很多種,我通常使用如下方式來轉(zhuǎn)換:

IntPtr ip = Marshal::StringToHGlobalAnsi(str);
const char* ch = static_cast<const char*>(ip.ToPointer());
//do something with ch
Marshal::FreeHGlobal(ip);

這里有個需要注意的地方是在使用完轉(zhuǎn)換出來的const char*后需要釋放掉轉(zhuǎn)換過程中的Intptr,如果沒有太多需要考慮性能的地方,大可以使用一個std::string將其拷貝走,寫成如下函數(shù)形式:  

    #include <string>

    using namespace std;
    using namespace System;
    using namespace System::Runtime::InteropServices;

    string cast_to_string(String^ str)
    {
        IntPtr ip = Marshal::StringToHGlobalAnsi(str);
        const char* ch = static_cast<const char*>(ip.ToPointer());
        string stdStr = ch;
        Marshal::FreeHGlobal(ip);

        return stdStr;
    }

 參考文章:如何:使用 C++ 互操作封送 ANSI 字符串

結(jié)構(gòu)體

除了基本類型外,有時我們也需要對結(jié)構(gòu)體進(jìn)行映射,MS也提供了相應(yīng)的映射函數(shù),非常方便。具體可參考MSDN文章擴(kuò)擴(kuò)展封送處理庫,這里就不多介紹了。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C語言 存儲類詳解及示例代碼

    C語言 存儲類詳解及示例代碼

    本篇文章主要介紹C語言 存儲類,這里幫大家整理了存儲類的基礎(chǔ)資料,并提供示例代碼和詳細(xì)介紹,有興趣的小伙伴可以參考下
    2016-08-08
  • C語言中指針常量和常量指針的區(qū)別

    C語言中指針常量和常量指針的區(qū)別

    本文主要介紹了C語言中指針常量和常量指針的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • C語言scanf語句吃掉回車或者空格問題及解決

    C語言scanf語句吃掉回車或者空格問題及解決

    這篇文章主要介紹了C語言scanf語句吃掉回車或者空格問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • C語言詳解strcmp函數(shù)的分析及實(shí)現(xiàn)

    C語言詳解strcmp函數(shù)的分析及實(shí)現(xiàn)

    strcmp函數(shù)語法為“int strcmp(char *str1,char *str2)”,其作用是比較字符串str1和str2是否相同,如果相同則返回0,如果不同,前者大于后者則返回1,否則返回-1
    2022-05-05
  • C語言回溯法 實(shí)現(xiàn)組合數(shù) 從N個數(shù)中選擇M個數(shù)

    C語言回溯法 實(shí)現(xiàn)組合數(shù) 從N個數(shù)中選擇M個數(shù)

    在平時的算法的題目中,時常會遇到組合數(shù)相關(guān)的問題,暴力枚舉。在N個數(shù)中挑選M個數(shù)出來。利用for循環(huán)也可以處理,但是可拓展性不強(qiáng),于是寫這個模板供以后參考
    2018-08-08
  • Qt將數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)出為html

    Qt將數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)出為html

    這篇文章主要為大家詳細(xì)介紹了Qt如何實(shí)現(xiàn)將數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)出為html,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-12-12
  • Visual Studio安裝的圖文教程

    Visual Studio安裝的圖文教程

    這篇文章主要介紹了Visual Studio安裝的圖文教程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Qt6.0?qproperty-*不生效原因解決分析

    Qt6.0?qproperty-*不生效原因解決分析

    這篇文章主要為大家介紹了Qt6.0?qproperty-*不生效原因解決分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • C++模板之特化與偏特化詳解

    C++模板之特化與偏特化詳解

    這篇文章主要介紹了C++模板之特化與偏特化詳解,本文講解了什么是C++模板、模板特化、模板偏特化、特化與偏特化的調(diào)用順序等內(nèi)容,需要的朋友可以參考下
    2014-10-10
  • 基于C++實(shí)現(xiàn)三種不同版本的通訊錄

    基于C++實(shí)現(xiàn)三種不同版本的通訊錄

    這篇文章主要為大家詳細(xì)介紹了如何通過C++實(shí)現(xiàn)三種不同版本的通訊錄(動態(tài)版本、靜態(tài)版本、文件版本),文中的示例代碼講解詳細(xì),希望對大家有所幫助
    2022-11-11

最新評論

郧西县| 二手房| 固安县| 甘孜县| 老河口市| 海丰县| 光山县| 镶黄旗| 化州市| 凤山市| 缙云县| 福泉市| 绥德县| 名山县| 富民县| 久治县| 娱乐| 建湖县| 滨海县| 清流县| 阿拉善盟| 池州市| 本溪市| 泾源县| 曲沃县| 申扎县| 临澧县| 廉江市| 南陵县| 托克逊县| 阿克| 庄浪县| 手机| 庆云县| 佳木斯市| 北川| 雅江县| 巴彦淖尔市| 同德县| 铜鼓县| 莫力|