
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.21] |
![]() |
|
Страницы: (78) « Первая ... 22 23 [24] 25 26 ... 77 78 ( Перейти к последнему сообщению ) |
Сообщ.
#346
,
|
|
|
похоже, многие из фич Стандарта 0x будут мочить. уже начали:
http://www.devx.com/cplus/Article/42448/0/ http://www.informit.com/guides/content.aspx?g=cplusplus&seqNum=441 Стандарт и так уже стал не 0x, а скорее 1x, видимо что бы не стал таки 2x, решили подсократить... |
Сообщ.
#347
,
|
|
|
Цитата Бобёр @ похоже, многие из фич Стандарта 0x будут мочить Бобер, это даже не вчерашняя, это позавчерашняя новость. Пока все идет к тому, что кроме концептов из стандарта ничего выкидывать не будут. |
Сообщ.
#348
,
|
|
|
ну, посмотрим.
|
![]() |
Сообщ.
#349
,
|
|
А концепты жалко. Я так на них рассчитывал...
|
Сообщ.
#350
,
|
|
|
Цитата Qraizer @ А концепты жалко. Я так на них рассчитывал... Ну, видимо, не один ты. ![]() |
![]() |
Сообщ.
#351
,
|
|
А смысл, если это всего лишь расширение Стандарта получится? Руку набить разве что. Я хочу ими "документировать" и хочу избавиться от расшифровки диагностик (мой личный рекорд: одна ошибка - 1,3Мб листинг). Вон, typeof там сроду был, полезнейшая вещь иногда. И часто его можно было видеть, когда он был нужен?
|
Сообщ.
#352
,
|
|
|
Цитата Qraizer @ А смысл, если это всего-лишь рассширение Стандарта? Цитата Qraizer @ Я так на них рассчитывал... ![]() |
Сообщ.
#353
,
|
|
|
Интересно, концепты пойдут в TR2 или TR3.
|
Сообщ.
#354
,
|
|
|
Цитата mas912 @ Интересно, концепты пойдут в TR2 или TR3. Вопрос хороший. И вопрос еще лучше - а где посмотреть текущее состояние TR2? Гугл практически никаких ссылок не дает... ![]() |
Сообщ.
#355
,
|
|
|
Самое последнее, что я видел, это C++ Library Working Group Status Report (Post San Francisco 2008) (N2870, там есть разделы "New Library Components Accepted into TR2", "New Library Components Planned for a Future TR", "Evolution of papers targetting future TRs".
Большинство предложений там из буста (filesystem, networking (boost.asio), ranges, etc.). Но это по библиотекам, а вот что по самому языку, мне неизвестно. |
Сообщ.
#356
,
|
|
|
Yes!
Цитата Re: C++0x lambdas in 4.5? * From: Jason Merrill <jason at redhat dot com> * To: Kenny Simpson <theonetruekenny at yahoo dot com> * Cc: gcc at gcc dot gnu dot org * Date: Thu, 24 Sep 2009 10:44:38 -0400 * Subject: Re: C++0x lambdas in 4.5? * References: <603843.64256.qm@web51508.mail.re2.yahoo.com> On 09/22/2009 10:16 PM, Kenny Simpson wrote: Will the lambda branch be merged into 4.5? Yes. Jason http://gcc.gnu.org/ml/gcc/2009-09/msg00507.html |
Сообщ.
#357
,
|
|
|
Поскольку в последнее время на форуме стали много поговаривать о хаках вокруг std::basic_string, не лишним будет заметить, что в стандарте планируются важные изменения насчёт строк:
1) непрерывность расположения элементов std::basic_string будет гарантироваться, как и в случае с std::vector: Цитата N2914 - 21.4.1/3 The char-like objects in a basic_string object shall be stored contiguously. That is, for any basic_string object s, the identity &*(s.begin() + n) == &*s.begin() + n shall hold for all values of n such that 0 <= n < s.size(). Цитата 21.4.5 const_reference operator[](size_type pos) const; reference operator[](size_type pos); 1 Returns: If pos < size(), returns *(begin() + pos). Otherwise, if pos == size(), the const version returns charT(). Otherwise, the behavior is undefined. 2) Copy-on-write реализации std::basic_string не будут допускаться. Как альтернатива std::basic_string, возможно, появится rope (или что-то похожее) с применением этой идиомы. Подробности см. в N2668 Цитата 21.4.1/4 References, pointers, and iterators referring to the elements of a basic_string sequence may be invalidated by the following uses of that basic_string object: — as an argument to any standard library function taking a reference to non-const basic_string as an argument.234 — Calling non-const member functions, except operator[], at, front, back, begin, rbegin, end, and rend. Если это дело примут, то хак вроде ![]() ![]() #include <cstddef> #include <iostream> #include <string> int main() { std::size_t const size = 5; std::string s(size, '\0'); std::cin.read(&s[0], size); // undefined behavior in C++03, well-defined in C++0x std::cout << s << std::endl; } перестанет быть хаком. |
![]() |
Сообщ.
#358
,
|
|
Цитата Masterkent @ 2) Copy-on-write реализации std::basic_string не будут допускаться Хммм... А из каких именно соображений, случаем, не знаешь? |
Сообщ.
#359
,
|
|
|
Цитата archimed7592 @ Хммм... А из каких именно соображений, случаем, не знаешь? В основном это связано с конкурентным доступом. По ссылке всё объяснено. Правда, я пока так и не понял смысл предлагаемого определения c_str и data. |
Сообщ.
#360
,
|
|
|
Цитата Masterkent @ Правда, я пока так и не понял смысл предлагаемого определения c_str и data. Мда, похоже, не мне одному описание c_str и data в N2914 представляется неподходящим - см. issue 876. Вот это Цитата In 21.4.7.1 [string.accessors] replace the now common returns clause of c_str() and data() by the following three paragraphs: Returns: A pointer p such that p+i == &operator[](i) for each i in [0, size()]. Throws: Nothing. Complexity: Constant time. уже как-то получше будет ![]() |