Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 15.02.2019
Сообщений: 55
1

Конкатенация строк

05.12.2020, 17:07. Показов 336. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
 
using namespace std;
 
int main() {
  string str1 = "Hello";
  string str2 = "World";
  // Почему так работает?
  string result = str1 + " : " + str2;
 
  // А так нет?
  string result = "Hello" + " World";
 
  // Почему нужно обязательно использовать одну переменную?
  // То есть достаточно поместить одну переменную, а дальше можно добавлять строки:
  string result = str1 + " World!" + " I" + " from Moskow!";
  
  cout << result << endl;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.12.2020, 17:07
Ответы с готовыми решениями:

Конкатенация строк
Здравствуйте. Имеется функция - Concat(s1,s2). Назначение - конкатенация строк s1 и s2...

конкатенация строк
Подскажите, почему не компилируется код: std::string ExtractFileName(std::string filename) { ...

Конкатенация строк
Нужно объединить три строки: &quot;txt/&quot; + i + &quot;.txt&quot; в char* URL. i переменная в цикле. Сделал так:...

Конкатенация строк
Разбираю учебный пример - написать класс для работы со строками. Всего два поля: private: ...

1
Модератор
Эксперт С++
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,713
05.12.2020, 17:13 2
Цитата Сообщение от leoworker Посмотреть сообщение
string result = "Hello" + " World";
Расмотрим, что стоит перед равно (его надо сначала посчитать, чтобы потом применить равно):
"Hello" имеет тип const char*
"World" тоже имеет тип const char*
Т.е. стоит сложение указателей, а не объединение строк.

Теперь
Цитата Сообщение от leoworker Посмотреть сообщение
string result = str1 + " : " + str2;
str1 - имеет тип string
":" имеет тип const char*
У класса string есть перегруженный оператор
C++
1
string operator+(const char*);
который и объединяет str1 c ":"
Ну, а дальше используется оператор
C++
1
string operator+(string);
для объединения результата и str2.
1
05.12.2020, 17:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.12.2020, 17:13
Помогаю со студенческими работами здесь

Конкатенация строк
Написать программу, которая делает сложение унарных чисел. Я написал программу, она даже правильно...

Конкатенация строк
Частью задания является реализовать функцию strcat. Возникает какая-то ошибка (см.фото). 1.Вы...

Конкатенация строк
Должно быть консольное приложение. Очень простой вопрос, но сам что-то завис, и немогу найти что...

Конкатенация строк
Здраствуйте. Проблема в следующем: (строка 57) нужно прибавить элемент массива типа string к...

Конкатенация строк
Имеется две строки string1 и string2, мне нужно что бы строка string3 содержала в себе обе, сначало...

Конкатенация строк
Здравствуйте, у меня такая проблема. Имеется переменная типа LPCWSTR мне в нее необходимо...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru