控制C++編程中反斜槓續行符的應用辦法。本站提示廣大學習愛好者:(控制C++編程中反斜槓續行符的應用辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是控制C++編程中反斜槓續行符的應用辦法正文
1) 用在宏界說中:
#define CV_ARE_SIZES_EQ(mat1, mat2) \ ((mat1)->rows == (mat2)->rows && (mat1)->cols == (mat2)->cols)
2) 用在printf中,有時刻printf中語句太長,須要切分,則需用到反斜槓;
3) 用“//”只能正文以後行的語句,想要將下一行一路正文失落,則可以在該行最初加上反斜槓。
別的,反斜槓除強迫換行的感化以外,還有本義符的意思。如:“\n”表現換行符,"\t" "\b"等,此時反斜槓表現本義,履行反斜槓前面的符號表現的意思。
但如果要取反斜槓的本意,則須要在反斜槓之前再加一個反斜槓能力准確表現。好比我要在法式中讀取F:\OpenCV2.0\vs2008\videos\videos1.avi ,,我不克不及直接將如許表現,而應當在每個反斜槓後面再加一個反斜槓,表現為:F:\\OpenCV2.0\\vs2008\\videos\\videos1.avi ,如許能力准確讀取你要的文件。
總結一下,今朝小我懂得的反斜槓的感化是兩種:
1 是作為本義字符,將停止的操作是緊跟厥後的字符的操作。
2 與回車鍵組合停止強迫換行。在要強迫換行的處所輸出反斜槓然後回車,體系編譯的時刻會主動將反斜槓上面的一行與後面的一行說明成一個語句。
續行符
在通俗代碼行前面加不加都一樣(VC是主動斷定續行的),然則在宏界說外面就特殊有效,由於宏界說劃定必需用一行完成:
#define SomeFun(x, a, b) if(x)x=a+b;else x=a-b;
這一行界說是沒有成績的,然則如許代碼很不輕易被懂得,今後保護起來費事,假如寫成:
#define SomeFun(x, a, b) if (x) x = a + b; else x = a - b;
如許懂得是好懂得了,然則編譯器會失足,由於它會以為#define SomeFun(x, a, b)是完全的一行,if (x)和前面的語句與#define SomeFun(x, a, b)沒有關系.
這時候候我們就必需應用如許的寫法:
#define SomeFun(x, a, b)\ if (x)\ x = a + b;\ else\ x = a - b;
留意:最初一行不要加續行符啊.VC的預處置器在編譯之前會主動將\與換行回車去失落,如許一來既不影響浏覽,又不影響邏輯,大快人心