Форум программистов, компьютерный форум, киберфорум
Наши страницы

Размышления о string из STL - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Клавиатурный шпион или что-то в этом роде http://www.cyberforum.ru/cpp-beginners/thread461586.html
Помогите написать программу, реагирующую на все нажатия клавиатуры в Windows и выполняющую какие-нибудь действия в зависимости от нажатой клавиши или комбинаций клавиш.
C++ Как можно получить LIB, имея DLL? Подскажите, пожалуйста, как можно получить LIB, имея DLL? Есть ли такие утилиты, если да, то где их можно найти? Спасибо! http://www.cyberforum.ru/cpp-beginners/thread461499.html
Список IP-адресов в локальной сети C++
Как, зная адрес и маску подсети, с помощью Windows API получить список IP всех хостов? Пингование всех возможных адресов не годится.
C++ как в VC++ создать ActiveX и использовать его методом позднего связывания?
Уважаемые знатоки! Подскажите, пожалуйста, как в VC++ создать ActiveX и использовать его методом позднего связывания? То есть, подобие тому, что в VB делается так: Set...
C++ Голосовая передача - Протокол Сжатия http://www.cyberforum.ru/cpp-beginners/thread461489.html
Меня интересует какой протакол использовать,для сжатия речи перед тем как её кидать в темп... и как он реализуется в C++... какой лучше для UDP,а какой для TCP... кинте пару ссылок пожалуйста......
C++ После запуска приложения только 2 колонки таблицы Помогите, пожалуйста, разобраться с ADO!!! Я создала SDI приложение. За базовый класс представления взяла CFormView. На форму кинула Microsoft ADO Data Control Vertion 6.0 (OLEDB). Связала её с... подробнее

Показать сообщение отдельно
boombastik
7 / 7 / 0
Регистрация: 13.02.2007
Сообщений: 1,255

Размышления о string из STL - C++

18.10.2007, 11:48. Просмотров 2323. Ответов 10
Метки (Все метки)

Класс string из шаблона STL замечательная вещь! Но вчера он меня чуть не убил...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <string>
using namespace std
...
string a = 'abc';
string b = a;
// Я почти был уверен, что оператор присвоения перекрыт (так оно и есть) 
// и копирует данные из строки а в строку b (а вот тут я ошибался)
 
// Следите за маневром ;)
// Приведем строку b в верхний регистр
strupr((char*)b.c_str());
 
// Теперь внутри b = 'ABC'
// Но, и это чуть меня не убило, a = 'ABC'
 
// Но!
string c = a.c_str();
strlwr((char*)c.c_str());
 
// Строка c = 'abc'
// А строка a как и положено = 'ABC'
...
В последнем случае все понятно, ведь мы пытаемся писвоить costant pointer, то есть содержимое мы не имеем права изменять, поэтому приходится копировать, но в первом случае!
И почему же это не описано в документации?
Хорошо исходники всегда под рукой, хотя стоило попотеть, чтобы найти, что реализация string находится в файле xstring

К сожалению по STL в MSDN документация, не в пример MFC, слабовата

Коментарии?

У кого нибудь есть интересные ссылки по STL?

Заранее спасибо, Владимир
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru