> std::string *pStr = new std::string("this is the test string");
> delete pStr;
>
По-моему, ты упускаешь из виду, что сам по себе std::string — малюсенькая структурка. В этой структурке никакого текста нет, а есть указатели на текст, для которого она при необходимости сама выделяет память, и сама же ее освобождает. Другими словами std::string для того и существует, чтобы избавить пользователя от выделения и освобождения памяти, поэтому такое его использование, как приводишь ты выглядит странно.
Posted via RSDN NNTP Server 2.0
--
Справедливость выше закона. А человечность выше справедливости.
Re[3]: std::string создать "динамически"
От:
Аноним
Дата:
23.03.06 08:45
Оценка:
Здравствуйте, rg45, Вы писали:
R>" Аноним " <0@users.rsdn.ru> сообщил/сообщила в новостях следующее: news:1799773@news.rsdn.ru... >>
>> std::string *pStr = new std::string("this is the test string");
>> delete pStr;
>>
R>По-моему, ты упускаешь из виду, что сам по себе std::string — малюсенькая структурка. В этой структурке никакого текста нет, а есть указатели на текст, для которого она при необходимости сама выделяет память, и сама же ее освобождает. Другими словами std::string для того и существует, чтобы избавить пользователя от выделения и освобождения памяти, поэтому такое его использование, как приводишь ты выглядит странно.
Ничего я не упускаю
Я просто сказал, что технически это можно.
Нужно ли — это совсем другой вопрос.
Re[4]: std::string создать "динамически"
От:
Аноним
Дата:
23.03.06 09:02
Оценка:
Спасибо за ответы!
А можно как-нить так сделать?
SetError(std::string("Число: ") + 777);
Re[5]: std::string создать "динамически"
От:
Аноним
Дата:
23.03.06 09:12
Оценка:
Здравствуйте, Аноним, Вы писали:
А>Спасибо за ответы! А>А можно как-нить так сделать? А>
А в общем тебе подойдет любой способ конвертации числа в строку.
Их много...
Re[6]: std::string создать "динамически"
От:
Аноним
Дата:
23.03.06 09:24
Оценка:
А>Их много...
Посоветуйте какой-нибудь кроме буста и такой чтобы можно было в одну строчку, т.к. _itoa тут не примениш...
Re[7]: std::string создать "динамически"
От:
Аноним
Дата:
23.03.06 09:32
Оценка:
Здравствуйте, Аноним, Вы писали:
А>>Их много... А>Посоветуйте какой-нибудь кроме буста и такой чтобы можно было в одну строчку, т.к. _itoa тут не примениш...
Видимо проще будет сделать свою маленькую функцию-утилиту,
которая делает это хоть и с помощью _itoa
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Аноним, Вы писали:
А>>>Их много... А>>Посоветуйте какой-нибудь кроме буста и такой чтобы можно было в одну строчку, т.к. _itoa тут не примениш...
А>Видимо проще будет сделать свою маленькую функцию-утилиту, А>которая делает это хоть и с помощью _itoa А>
А>Видимо проще будет сделать свою маленькую функцию-утилиту, А>которая делает это хоть и с помощью _itoa
Посмотрите плз, такая функция нормальная с точки зрения всяких там размешений в памяти возвращаемых переменных, типа не надо там перед char ыефешс писать?
Здравствуйте, Вумудщзук, Вы писали:
>>>Их много... >>Посоветуйте какой-нибудь кроме буста и такой чтобы можно было в одну строчку, т.к. _itoa тут не примениш...
В>
"Аноним" <0@users.rsdn.ru> wrote in message news:1800040@news.rsdn.ru... > Здравствуйте, Вумудщзук, Вы писали: > > >>>Их много... > >>Посоветуйте какой-нибудь кроме буста и такой чтобы можно было в одну строчку, т.к. _itoa тут не примениш... > > В>
Здравствуйте, Аноним, Вы писали:
А>Посмотрите плз, такая функция нормальная с точки зрения всяких там размешений в памяти возвращаемых переменных, типа не надо там перед char ыефешс писать? А>
Здравствуйте, Вумудщзук, Вы писали:
>>>Их много... >>Посоветуйте какой-нибудь кроме буста и такой чтобы можно было в одну строчку, т.к. _itoa тут не примениш...
В>
_>float a = 1.1;
_>SetError(_S("Ошибка в файле: " << FILE_NAME << 12 << 12.16 << a));
_>
_>Код работает в Visual C++ 6.0, 2003
Что-то ошибку выдаёт:
main.cpp(51): error C2514: 'std::basic_ostringstream<_Elem,_Traits,_Alloc>' : class has no constructors
with
[
_Elem=char,
_Traits=std::char_traits<char>,
_Alloc=std::allocator<char>
]
Re[3]: Конкатенация строк и чисел в С++ одним выражением
Здравствуйте, bolshik, Вы писали:
B>Здравствуйте, Аноним, Вы писали:
А>>Посоветуйте какой-нибудь кроме буста и такой чтобы можно было в одну строчку, т.к. _itoa тут не примениш...
B>
Добавлять в пространство имён std что-либо, кроме специализаций шаблонов для пользовательских типов, запрещается пунктом 17.4.3.1/1 Стандарта. operator+ не является шаблоном, а std::string и int не являются пользовательскими типами, поэтому данный код вызывает неопределённое поведение.
Re[4]: Конкатенация строк и чисел в С++ одним выражением