Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.192] |
|
|
Правила раздела:
| Страницы: (495) « Первая ... 384 385 [386] 387 388 ... 494 495 ( Перейти к последнему сообщению ) |
Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
|
Сообщ.
#5777
,
|
|
|
|
|
Сообщ.
#5779
,
|
|
|
|
Цитата IL_Agent @ Ну так и в Си я могу объявить точно такой же тип стринг, со своим внутренним представлением, конверторами в/из char*. Приватные поля в сишных структурах? |
|
Сообщ.
#5780
,
|
|
|
|
Кста, такой вопрос: вот вы говорите, что std::string не хранит char *, тогда для метода c_str() должна выделятся дин память?? А кто эту память должен освобождать?
|
|
Сообщ.
#5781
,
|
|
|
|
Цитата Повстанець @ Гы ![]() И к чему ты это ? Цитата MyNameIsIgor @ Приватные поля в сишных структурах? ![]() Эти детали не имеют отношения к предмету обсуждения |
|
Сообщ.
#5782
,
|
|
|
|
Если говорить вообще о С++ - то так и есть. А вот в данном случае я никакого ущерба не вижу. Массив символов и std::string - разные типы. Добавлено char * - это не Си-строка. То, что называется Си-строкой представляет собой не тип, а соглашение по использованию массивов, предполагающее использование специального символа для обозначения конца строки. Иногда такое представление удобно, иногда нет. Только причем тут std::string? |
|
Сообщ.
#5783
,
|
|
|
|
Цитата jack128 @ Может хранит, может не хранит. Зависит от реализации. Как правило, именно её и хранит, но я бы не стал на это особо полагаться. Кста, такой вопрос: вот вы говорите, что std::string не хранит char *, тогда для метода c_str() должна выделятся дин память?? А кто эту память должен освобождать? В частности при UTF-8 скорее всего внутреннее представление строки будет несколько другим. |
|
Сообщ.
#5784
,
|
|
|
|
Цитата D_KEY @ А вот в данном случае я никакого ущерба не вижу. Т.е. ты не считаешь, что если бы не совместимость, то логичнее было бы, чтобы литерал "abc" имел тип string ? |
|
Сообщ.
#5785
,
|
|
|
|
Цитата jack128 @ Кста, такой вопрос: вот вы говорите, что std::string не хранит char *, тогда для метода c_str() должна выделятся дин память?? А кто эту память должен освобождать? Это не оговорено стандартом. Хоть специальное хранилище создавай, хоть GC прикручивай |
|
Сообщ.
#5786
,
|
|
|
|
Цитата IL_Agent @ Зачем? Какой в этом смысл? Т.е. ты не считаешь, что если бы не совместимость, то логичнее было бы, чтобы литерал "abc" имел тип string ? |
|
Сообщ.
#5787
,
|
|
|
|
Цитата IL_Agent @ если бы не совместимость С++ был бы чем-то совершенно другим. |
|
Сообщ.
#5788
,
|
|
|
|
Цитата D_KEY @ Цитата IL_Agent @ если бы не совместимость С++ был бы чем-то совершенно другим. Значит, всё-таки согласен |
|
Сообщ.
#5789
,
|
|
|
|
Цитата IL_Agent @ Цитата D_KEY @ Цитата IL_Agent @ если бы не совместимость С++ был бы чем-то совершенно другим. Значит, всё-таки согласен ![]() Нет. Это означает, что я не вижу смысла об этом рассуждать, поскольку совместимость с С - одна из фундаментальных целей этого языка. |
|
Сообщ.
#5790
,
|
|
|
|
Цитата D_KEY @ Хоть специальное хранилище создавай, хоть GC прикручивай Шутку оценил. Смешно. |