Size: a a a

2020 August 02

O

Ofee in C++ Together 2.0
Rika Z
То есть пока указатель на строке, нельзя удалить строку?
Можно, но нужно понимать, что этим указателем пользоваться нельзя, поскольку он указывает на что-то, чего нет
источник

A

Alex Ф-ф-фэils!🌠︙... in C++ Together 2.0
Cool Cooler
А что .find возвращает?
std::basic_string::size_type
источник

A

Alex Ф-ф-фэils!🌠︙... in C++ Together 2.0
Cool Cooler
@MrRapira
if (CounToChar.find("A") != string::npos) { ... }
Угу
источник

A

Alex Ф-ф-фэils!🌠︙... in C++ Together 2.0
Ofee
Да, сказал же, что погорячился)
Я, честно говоря, ожидал, что string::find работает с итераторами, как и другие контейнеры
Я на это порой тоже жопой садился
источник

CC

Cool Cooler in C++ Together 2.0
Alex Ф-ф-фэils!🌠︙
std::vector<std::string> countries { "russia", " deuchland", "españa"};
Случай с "españa" интересный
Допустим, у меня в исходном коде есть std::cout << "españa" << std::endl;, кодировка в которой сохранён исходный файл совпадает с кодировкой терминала, я компилирую исходный файл и запускаю прогу в терминале. Гарантируется ли, что "españa" будет отображаться правильно в терминале?
источник

A

Alex Ф-ф-фэils!🌠︙... in C++ Together 2.0
Cool Cooler
Мне не оч понятно, зачем изобрели итераторы
Затем, что это абстракция для прохода по какой-нибудь последовательности
источник

A

Alex Ф-ф-фэils!🌠︙... in C++ Together 2.0
Cool Cooler
Случай с "españa" интересный
Допустим, у меня в исходном коде есть std::cout << "españa" << std::endl;, кодировка в которой сохранён исходный файл совпадает с кодировкой терминала, я компилирую исходный файл и запускаю прогу в терминале. Гарантируется ли, что "españa" будет отображаться правильно в терминале?
Нет, это impl-dependent
источник

A

Alex Ф-ф-фэils!🌠︙... in C++ Together 2.0
Обычно в компиляторах есть прагма или флажок на эту тему
источник

A

Alex Ф-ф-фэils!🌠︙... in C++ Together 2.0
Например, #pragma code_page("utf8") там
источник

A

Alex Ф-ф-фэils!🌠︙... in C++ Together 2.0
@MrRapira тут кидал фрагмент с такой прагмой, кстати
источник

RZ

Rika Z in C++ Together 2.0
Переслано от Danya
#if defined(_WIN32) || defined(_WIN64)
#pragma execution_character_set("utf-8")
#include<windows.h>
const auto _dummy_ = []() {
SetConsoleCP(65001);
SetConsoleOutputCP(65001);
return 0;
}();
#endif
источник

RZ

Rika Z in C++ Together 2.0
Ничего не понятно, но работает
источник

A

Alex Ф-ф-фэils!🌠︙... in C++ Together 2.0
Мне все понятно, спасибо
источник

CC

Cool Cooler in C++ Together 2.0
Alex Ф-ф-фэils!🌠︙
Затем, что это абстракция для прохода по какой-нибудь последовательности
А for (int i = 0; i < size_of_some_container; i++) { some_function( way_to_access_element(container, i) ); } же есть?
источник

A

Alex Ф-ф-фэils!🌠︙... in C++ Together 2.0
А если у тебя нету индекса в контейнере
источник

A

Alex Ф-ф-фэils!🌠︙... in C++ Together 2.0
Вот скажи мне, какой будет индекс у ноды дерева
источник

CC

Cool Cooler in C++ Together 2.0
Alex Ф-ф-фэils!🌠︙
А если у тебя нету индекса в контейнере
Ну тогда да, итератор может пригодиться
источник

O

Ofee in C++ Together 2.0
Cool Cooler
Ну тогда да, итератор может пригодиться
А если мы не знаем, пришёл ли нам массив в функцию или дерево?
источник

CC

Cool Cooler in C++ Together 2.0
Alex Ф-ф-фэils!🌠︙
Вот скажи мне, какой будет индекс у ноды дерева
Ууу, сложненький
Я бы даже сказал путь
А можно ли такой путь назвать индексом или это будет технически неправильно?
источник

A

Alex Ф-ф-фэils!🌠︙... in C++ Together 2.0
Ofee
А если мы не знаем, пришёл ли нам массив в функцию или дерево?
Вот да
источник