C++语句如何换行和C++中字符串太长如何换行
C++语句如何换行
只要不是在关键中,或标识符中,或字符串常量中,你随时都可以回车换行而不会提示有语法错误。还能在可使用空格的地方使用反斜杠\实现换行,其前后可以有也可以没有空格,其后除空格外不能有其他符号包括注释符号。如:
int
a =
10
;
或
int b \
= \
20 ;
都可以。
下面给出一个完整的例子:
#include <iostream>
using namespace std;
main
()
{
int
a =
10
;
cout << "a="<<
a <<endl;
int b \
= \
20 ;
cout <<
"b=" << b
<<endl;
return
0;
}
运行之效果如下:
这是一个极端的情况的示例,一般为了程序的可读性不会这样做,只有当一个语句太长时才适当换行。
上面的例子可读性很差,不如下面正常写法:
#include <iostream>
using namespace std;
main()
{
int a = 10;
cout << "a="<< a <<endl;
int b = 20 ;
cout << "b=" << b <<endl;
return 0;
}
C++中字符串太长如何换行
C++中字符串太长,可使用如下换行方法:
(特别提示:下面示例中字符串为方便理解没用太长)
1)每行的末尾使用反斜杠,如:
string str1 = "abcd\
efg"";
注意:反斜杠后面不准有任何字符。下一行开头的制表符不包含在整个字符串中,但是下一行开头的空格符包含在整个字符串中。
2)将每行中的字符串都使用引号括起来, 编译器会将它们拼接起来,如:
string str2 = "abcd"
"efg";
注意:两个字符串会自动拼接,两个字符串之间可以有任意多个空字符("")和空白字符(空白字符包括空格字符,制表符,换行符)。
3)C++11以后,支持Raw-string(原始字符串)一种所见即所得的一种方式,如:
string str3= R"(abcd
efg)";
完成示例如下:
#include <iostream>
using namespace std;
main()
{
string str1 = "abcd\
efg";
cout << str1 <<endl;
string str2 = "abcd"
"efg";
cout << str2 <<endl;
string str3 =R"(abcd
efg)";
cout << str3 <<endl;
return 0;
}
运行之效果如下:
Dev-c++如何支持c++11
Tools —> Compiler Options.,在“”中勾选“Add the following commands when calling the compiler:”,填入"-std=c++11",参见下图:
OK!