Строковые константы в C++
Все ли строки, заключенные в " " являются строковой константой? Или для этого они обязательно должны обьявляться с использованием const?
Например:
cout << " Hello world " << endl;
Hello world здесь строковая константа?
Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
Бесполезная функция, которая содержит строковую константу:
123
void useless() {
"Hello World!";
}
Полезная функция, которая выводит в консоль строковую константу:
123
void useful() {
puts("Hello World!");
}
Строка STL, которая инициализирована строковой константой:
1234567
#include <iostream>
#include <string>
using namespace std;
int main() {
string hello = "Hello World!";
cout << hello << '\n';
}
Вывод. Строковая константа, это содержимое заключённое между парой двойных кавычек, даже если там, на первый взгляд ничего нет. Например,
1
char empty[] = "";
В современном С++ ещё имеется возможность создавать многострочные строковые константы:
1234567891011121314
#include <iostream>
#include <string>
using namespace std;
int main() {
string multiline = R"(Буря мглою небо кроет,
Вихри снежные крутя;
То, как зверь, она завоет,
То заплачет, как дитя,
То по кровле обветшалой
Вдруг соломой зашумит,
То, как путник запоздалый,
К нам в окошко застучит.)";
cout << multiline << '\n';
}
Получается да
Больше по теме