書法作品落款寫“大師遠宏書”遠宏是作者名,大師是什麼意思?
不知此“大師遠宏”為何許人。
但如此落款,可有點不合常理,或者說此人有點大言不慚。不管這“大師”解作指“造詣深、享有盛譽的人”,還是指“佛教徒稱佛,也用作對和尚的尊稱”,都應該是別人對其尊稱,自稱就……
字符串( " " )中永遠不包含宏,是什麼意思
#define I sqrt(-1)
"I would like to befriend you"
不會被替換成
"sqrt(-1) would like to befriend you"
題外話,很久很久以前,預處理器會替換字符串裏麵的東西,所以那時候"I would like to befriend you"真的會變成"sqrt(-1) would like to befriend you"(現在GNU C預處理器還保留這種 traditional 模式)
題外話2,I 不是一個好的宏名——隻含一個字母的名字跟其他東西重名的可能性太大了。不過C99的標準頭文件 宏坤皓遠 與洪坤皓遠意思相近 天地可稱為乾坤 而乾坤裏麵又涵蓋著宇宙 而宇宙的巨大是人永遠也不能探索的 所以洪坤皓遠是指 宇宙的洪大與遙遠的程度是人永遠也無法揣測的與探索的!說白了 就是說天地(乾坤)、宇宙是多麼的洪大而遙遠吧 具體的我也說不清了 要麼你去查一查字典或百度一下查查看看是怎麼說的? 我覺得,“遠想出宏域,高步超常倫”用於描述我對《科技日報》的印象,也是比較適當的。 上世紀80年代,《科技日報》剛創辦的時候,我剛好碩士畢業參加 固定支座。 簡單來說:宏定義又稱為宏代換、宏替換,簡稱“宏”。是C提供的三種預處理功能的其中一種。 複雜的請看下麵,講的很全。下麵的帶參宏定義,多行宏定義,在Linux內核源碼中很多。另外sizeof也是一個宏定義。 宏定義 宏定義是C提供的三種預處理功能的其中一種,這三種預處理包括:宏定義、文件包含、條件編譯 1. 不帶參數的宏定義: 宏定義又稱為宏代換、宏替換,簡稱“宏”。 格式: #define 標識符 字符串 其中的標識符就是所謂的符號常量,也稱為“宏名”。 預處理(預編譯)工作也叫做宏展開:將宏名替換為字符串。 掌握"宏"概念的關鍵是“換”。一切以換為前提、做任何事情之前先要換,準確理解之前就要“換”。 即在對相關命令或語句的含義和功能作具體分析之前就要換: 例: #define PI 3.1415926 把程序中出現的PI全部換成3.1415926 說明: (1)宏名一般用大寫 (2)使用宏可提高程序的通用性和易讀性,減少不一致性,減少輸入錯誤和便於修改。例如:數組大小常用宏定義 (3)預處理是在編譯之前的處理,而編譯工作的任務之一就是語法檢查,預處理不做語法檢查。 (4)宏定義末尾不加分號; (5)宏定義寫在函數的花括號外邊,作用域為其後的程序,通常在文件的最開頭。 (6)可以用#undef命令終止宏定義的作用域 (7)宏定義可以嵌套 (8)字符串" "中永遠不包含宏 (9)宏定義不分配內存,變量定義分配內存。 2. 帶參數的宏定義: 除了一般的字符串替換,還要做參數代換 格式: #define 宏名(參數表) 字符串 例如:#define S(a,b) a*b area=S(3,2);第一步被換為area=a*b; ,第二步被換為area=3*2; 類似於函數調用,有一個啞實結合的過程: (1)實參如果是表達式容易出問題 #define S(r) r*r area=S(a+b);第一步換為area=r*r;,第二步被換為area=a+b*a+b; 正確的宏定義是#define S(r) ((r)*(r)) (2)宏名和參數的括號間不能有空格 (3)宏替換隻作替換,不做計算,不做表達式求解 (4)函數調用在編譯後程序運行時進行,並且分配內存。宏替換在編譯前進行,不分配內存 (5)宏的啞實結合不存在類型,也沒有類型轉換。 (6)函數隻有一個返回值,利用宏則可以設法得到多個值 (7)宏展開使源程序變長,函數調用不會 (8)宏展開不占運行時間,隻占編譯時間,函數調用占運行時間(分配內存、保留現場、值傳遞、返回值) 3. 宏定義其他冷門、重點知識 #define用法 1、 用無參宏定義一個簡單的常量 #define LEN 12 這個是最常見的用法,但也會出錯。 比如下麵幾個知識點你會嗎?可以看下: (1) #define NAME "zhangyuncong" 程序中有"NAME"則,它會不會被替換呢? (2) #define 0x abcd 可以嗎?也就是說,可不可以用把標識符的字母替換成別的東西? (3) #define NAME "zhang 這個可以嗎? (4) #define NAME "zhangyuncong" 程序中有上麵的宏定義,並且,程序裏有句: NAMELIST這樣,會不會被替換成"zhangyuncong"LIST 四個題答案都是否定的。 第一個,""內的東西不會被宏替換。這一點應該大都知道。 第二個,宏定義前麵的那個必須是合法的用戶標識符 第三個,宏定義也不是說後麵東西隨便寫,不能把字符串的兩個""拆開。 第四個:隻替換標識符,不替換別的東西。NAMELIST整體是個標識符,而沒有NAME標識符,所以不替換。 也就是說,這種情況下記住:#define 第一位置第二位置 (1) 不替換程序中字符串裏的東西。 (2) 第一位置隻能是合法的標識符(可以是關鍵字) (3) 第二位置如果有字符串,必須把""配對。 (4) 隻替換與第一位置完全相同的標識符 還有就是老生常談的話:記住這是簡單的替換而已,不要在中間計算結果,一定要替換出表達式之後再算。 2、 帶參宏一般用法 比如#define MAX(a,b) ((a)>(b)?(a):(b)) 則遇到MAX(1+2,value)則會把它替換成: ((1+2)>(value)?(1+2):(value)) 注意事項和無參宏差不多。 但還是應注意 #define FUN(a) "a" 則,輸入FUN(345)會被替換成什麼? 其實,如果這麼寫,無論宏的實參是什麼,都不會影響其被替換成"a"的命運。 也就是說,""內的字符不被當成形參,即使它和一模一樣。 那麼,你會問了,我要是想讓這裏輸入FUN(345)它就替換成"345"該怎麼實現呢? 請看下麵關於#的用法 3、 有參宏定義中#的用法 #define STR(str) #str #用於把宏定義中的參數兩端加上字符串的"" 比如,這裏STR(my#name)會被替換成"my#name" 一般由任意字符都可以做形參,但以下情況會出錯: STR())這樣,編譯器不會把“)”當成STR()的參數。 STR(,)同上,編譯器不會把“,”當成STR的參數。 STR(A,B)如果實參過多,則編譯器會把多餘的參數舍去。(VC++2008為例) STR((A,B))會被解讀為實參為:(A,B),而不是被解讀為兩個實參,第一個是(A第二個是B)。 4、 有參宏定義中##的用法 #define WIDE(str) L##str 則會將形參str的前麵加上L 比如:WIDE("abc")就會被替換成L"abc" 如果有#define FUN(a,b) vo##a##b() 那麼FUN(id ma,in)會被替換成void main() 5、 多行宏定義: #define doit(m,n) for(int i=0;i<> {\ m+=i;\ } 字符串( " " )中永遠不包含宏的意思是:如果一個字符串中,發現了一個宏,則這個宏是不會被替換的。 舉例: #define?MY_NAME??"jobs" char?*str?=?"MY_NAME?is?"; char?*name?=?MY_NAME; 則第一個定義“char *str”中的MY_NAME不會被替換成“jobs”。 有問題繼續交流,謝謝。 因為這個宏每次上線都要點一下,給的福利是懶人福利,直接加到任意插件的LUA裏,上線不用再點了就,永久生效 UI_Conifg = CreateFrame("Frame") UI_Conifg:RegisterEvent("PLAYER_ENTERING_WORLD") UI_Conifg:SetScript("OnEvent", function(self, event) self:UnregisterEvent("PLAYER_ENTERING_WORLD") SetCVar("cameraDistanceMaxZoomFactor", 2.6) /script SetCVar("cameradistanceMax",50) 做好這個宏,然後使用,然後直接用鼠標的滑輪調節就行了。 1。/script SetCVar("cameraDistanceMax", 25) 25可以按你自己要求來改 調製你需要的位置 2。ESC ---> 界麵 ---> 鏡頭 ---> 最大鏡頭距離 轉載請注明出處句子大全網 » 書法作品落款寫“大師遠宏書”遠宏是作宏坤皓遠是什麼意思
遠想出宏域,高步超常倫是什麼意思
遠宏解釋GPZ12.5GD橋梁盆式橡膠支座中的GD是什麼意思
c語言中的“宏”是指什麼?
字符串( " " )中永遠不包含宏,是什麼意思
魔獸世界7.1最遠視角宏怎麼寫 超遠視距宏設置方法
那個能告訴我下魔獸世界視角拉遠宏怎麼用啊?
魔獸世界視角拉遠宏怎麼做啊?具體怎麼用?