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

Еще одно размышление о string из STL - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как UUIDGEN.EXE генерит GUID http://www.cyberforum.ru/cpp-beginners/thread461893.html
Мне говорили, что она инфу с конкретной машины стягивает, а какую?
C++ Вставка нового элемента в ListCtrl Проблема с вставкой нового элемента в ListCtrl LVITEM newItem; newItem.mask=LVIF_TEXT|LVIF_STATE; newItem.iItem=0; newItem.iSubItem=1; newItem.state=0;... http://www.cyberforum.ru/cpp-beginners/thread461883.html
Портабельная библиотека для C++ C++
Поделитесь опытом использования портабельных С++ библиотек (linux, sun, win32) ? Необходимо чтобы были : потоки, процессы, события, мютексы, семафоры
C++ Подскажите функцию для получения HWND текущего окна, или по названию окна (для экспорта в VFP6)
пусто
C++ Нужна помощь по переделке интерфейса программного продукта SGI MineSet (за вознагрождение) http://www.cyberforum.ru/cpp-beginners/thread461797.html
Нужна помощь по переделке интерфейса программного продукта SGI MineSet: возможность встраивания окон визуализации в произвольный интерфейс; переделка самого интерфейса программы - поменять размеры...
C++ Как лучше реализовать прозрачность окна? надо реализовать сабж, пожозреваю что надо для этого окна установить флаг прозрачности окна. Но деталей найти несмог. Подскажите. подробнее

Показать сообщение отдельно
Igor Soukhov
0 / 0 / 0
Регистрация: 06.01.2008
Сообщений: 62
06.01.2008, 21:22
Я всего лишь НЕМНОГО =) оптимизировал твой/ваш пример.

>Кстати, раз уж речь зашла о ссылках, как поступать если функция >объеявлена как возвращающая ссылку на объект, но по определенным >причинам не может выполнить этого? Что возвращать?
в таких случаях порядочная функция кидает исключение. А если
это сложно - то все таки постарайся избегать такого дизайна.

То есть от функции c с таким прототипом и кодом:
C++
1
2
3
4
5
6
7
8
9
10
11
12
string& GetString(string input)
{
  static string strRet;  
  if (input.length() == 0)
  {
   //dont know what to to here ...
  }
  else
     strRet = input;  
 
  return strRet;
}
перейти к подобному:
C++
1
2
3
4
5
6
7
8
9
10
11
bool GetString(string input, string& strOut)
{
  if (input.length() == 0)
  {
    //returning false as the signal that processing failed.
    return false;
  }
  else
     strOut = input;  
   return true;
}
исключения - это конечно самое лучшее решение - но
не для начинающих.

Igor Soukhov,
Member of Russian Software Developer Network - www.rsdn.ru
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru