最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關(guān)于C++源代碼中取消名字空間(namespace)而保留原有功能的問題,該怎么解決?

關(guān)于C++源代碼中取消名字空間(namespace)而保留原有功能的問題,該怎么解決?

藍(lán)山帝景 2021-12-02 11:07:29
我有一些C++代碼庫的源代碼,里面有很多源文件,聲明了很多名字空間,實現(xiàn)的是比較簡單的功能,我想把其中所有的變量聲明、類、結(jié)構(gòu)和函數(shù)都簡單放到一個頭文件(.h)和一個源文件(.cpp)中以便調(diào)用,取消其中所有的名字空間(namespace)。請問用什么思路以及軟件(代碼分析、代碼重構(gòu)等軟件),通過什么方法和步驟可以實現(xiàn)這一目的?同時需保證編譯不會報錯。要是想內(nèi)聯(lián)GRETA正則表達(dá)式模板類庫,就難嘍~
查看完整描述

2 回答

?
飲歌長嘯

TA貢獻(xiàn)1951條經(jīng)驗 獲得超3個贊

參考一下:
就是把命名空間聲明與宏定義組合起來用
namespace nsdebug //名字空間nsdebug是在別的文件里定義的
{
int GetStringWidth(char* s);
int GetCellValue(int x,int y);
}

#define GetStringWidth nsdebug::GetStringWidth
#define GetCellValue nsdebug::GetCellValue
把這些個名字空間都加近來,再一一定義一個宏,做成一個新的頭文件。這樣的話不必修改原來代碼的任何內(nèi)容。

查看完整回答
反對 回復(fù) 2021-12-07
?
梵蒂岡之花

TA貢獻(xiàn)1900條經(jīng)驗 獲得超5個贊

我也曾遇到過這中問題,曾經(jīng)也找到了解決方案,但是覺得不完美后來就不用了,不過可以給你參考一下:
就是把命名空間聲明與宏定義組合起來用
namespace nsdebug //名字空間nsdebug是在別的文件里定義的
{
int GetStringWidth(char* s);
int GetCellValue(int x,int y);
}

#define GetStringWidth nsdebug::GetStringWidth
#define GetCellValue nsdebug::GetCellValue
把這些個名字空間都加近來,再一一定義一個宏,做成一個新的頭文件。這樣的話不必修改原來代碼的任何內(nèi)容。
不過后來我覺得用宏還是不穩(wěn)心,東西多了次早會遇到宏陷阱,后來就廢棄了這種方法。



查看完整回答
反對 回復(fù) 2021-12-07
  • 2 回答
  • 0 關(guān)注
  • 920 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號