Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.fds-net.ru/showflat.php?Number=9126308&src=arc&showlite=
Дата изменения: Unknown
Дата индексирования: Wed Apr 13 02:50:27 2016
Кодировка: Windows-1251
c++ классы с полями-указателями - Public forum of MSU united student networks
Root | Google | Yandex | Mail.ru | Kommersant | Afisha | LAN Support
  
Technical >> Development (Archive)

Страницы: 0 | 20 | показать все
vissi

Рег.: 30.09.2007
Сообщений: 9275
Рейтинг: 8222
  Re: c++ классы с полями-указателями [re: Kai]
      08.12.2009 21:32
 

> Кажется, именно для POD.
Да, именно так.



botWi

Рег.: 22.11.2003
Сообщений: 10160
Из: Moscow
Рейтинг: 1764
  Re: c++ классы с полями-указателями [re: DarkGray]
      09.12.2009 13:00
 

В ответ на:

new по стандарту гарантирует, что выделенная память и так уже обнулена




ты с++ с сишарпом путаешь?



Хватит дрочить на рейтинги
Sevurrrra
Хранитель маяка

Рег.: 10.09.2007
Сообщений: 2050
Рейтинг: 2759
  Re: c++ классы с полями-указателями [re: botWi]
      09.12.2009 13:19
-4

Это логичная в общем-то мысль - раз для объектов вызывается конструктор по умолчанию, то можно предположить, что POD-типы инициализируются "стандартными" нулями.

botWi

Рег.: 22.11.2003
Сообщений: 10160
Из: Moscow
Рейтинг: 1764
  Re: c++ классы с полями-указателями [re: Sevurrrra]
      09.12.2009 15:46
 

В ответ на:

то можно предположить, что POD-типы инициализируются "стандартными" нулями.





эээ
у тебя динамический массив - POD-тип?
ты тоже с++ с сишарпом путаешь?



Хватит дрочить на рейтинги
Spin
он самый

Рег.: 17.09.2003
Сообщений: 14521
Рейтинг: 4387
  Re: c++ классы с полями-указателями [re: botWi]
      09.12.2009 15:52
2

да, вот читаю такое и все больше убеждаюсь, что плюсы - просто какой-то набор исключений и нелогичностей по сравнению с другими языками :)




- а этот ваш С++ - он функциональный?
- еще какой функциональный!
Sevurrrra
Хранитель маяка

Рег.: 10.09.2007
Сообщений: 2050
Рейтинг: 2759
  Re: c++ классы с полями-указателями [re: botWi]
      09.12.2009 16:21
 

Виноват, был дурак, путаю.

DarkGrayМодератор
Carpal Tunnel

Рег.: 30.09.2002
Сообщений: 31415
Рейтинг: 8952
  Re: c++ классы с полями-указателями [re: botWi]
      09.12.2009 16:35
-1

Quote:

ты с++ с сишарпом путаешь?




не путаю.
как одно из отличий new от malloc - проговаривалось обнуление памяти (в том числе и у страуструппа).

а вот то, что для массива pod-ов, выделенного динамически, в C++ нет даже синтаксиса для его штатного обнуления - вот это я уже подзабыл.

ps
для выделения pod-структуры такой синтаксис, например, есть

Rad
delinquent guy

Рег.: 06.09.2005
Сообщений: 17291
Из: here and there
Рейтинг: 2232
  Re: c++ классы с полями-указателями [re: DarkGray]
      09.12.2009 20:36
-1


 
code:
#include <stdio.h> #include <string> class A { public: int val; }; int main() { A *a = new A[5]; for(int i=0; i<5; i++) printf("%d,", a[i].val); printf("\n"); delete [] a; return 0; }
cl выдает нули только если в класс добавить виртуальный метод, gcc выдает нули в любом случае (даже если заменить класс на простой int.
Кроме того, не редко видел реализацию operator new именно через malloc, а не через calloc.



vissi

Рег.: 30.09.2007
Сообщений: 9275
Рейтинг: 8222
  Re: c++ классы с полями-указателями [re: Rad]
      09.12.2009 20:49
 

В ответ на:

cl выдает нули только если в класс добавить виртуальный метод



а если конструктор ?
В ответ на:

operator new именно через malloc, а не через calloc



operator new[] ?



Kai

Рег.: 25.10.2002
Сообщений: 8251
Рейтинг: 818
  Re: c++ классы с полями-указателями [re: Rad]
      09.12.2009 20:50
2

Omg, прочитай уже стандарт вместо того что бы проверять undefined behavior на частных случаях!

 
Quote:

gcc выдает нули в любом случае (даже если заменить класс на простой int.



Добавь цикл вокруг main().

DarkGrayМодератор
Carpal Tunnel

Рег.: 30.09.2002
Сообщений: 31415
Рейтинг: 8952
  Re: c++ классы с полями-указателями [re: Sevurrrra]
      09.12.2009 22:30
 

Quote:

Это логичная в общем-то мысль - раз для объектов вызывается конструктор по умолчанию, то можно предположить, что POD-типы инициализируются "стандартными" нулями.




с одной стороны - оно так и есть.
выделенный вот так int - обязан быть нулевым
[c]
int * p = new int();
[/c]

но вот выделение массива является исключением - только его не зануляют

ayvango
ушастый

Рег.: 10.01.2006
Сообщений: 27732
Из: Воронеж
Рейтинг: 11833
  Re: c++ классы с полями-указателями [re: pianist]
      09.12.2009 22:57
 

Quote:


Аффтар, ты пишешь плохо, очень плохо.




темплаты - не всегда выход. У них есть и преимущества, и недостатки. В некоторых компаниях темплаты вообще политикой запрещены



Сеть темна и полна ужасов
Kai

Рег.: 25.10.2002
Сообщений: 8251
Рейтинг: 818
  Re: c++ классы с полями-указателями [re: DarkGray]
      10.12.2009 00:08
 

Quote:


но вот выделение массива является исключением - только его не зануляют



Еще поля в классах, для которых явно не указан конструктор.

Spin
он самый

Рег.: 17.09.2003
Сообщений: 14521
Рейтинг: 4387
  Re: c++ классы с полями-указателями [re: ayvango]
      10.12.2009 00:27
 

омг, мне жалко их
должно быть, их софт писался на старых версиях явы, а потом переписывался на плюсы чтобы быть хоть чуток побыстрее?



- а этот ваш С++ - он функциональный?
- еще какой функциональный!
Basilio
GreenOne

Рег.: 14.10.2002
Сообщений: 13750
Из: Москва
Рейтинг: 3476
  Re: c++ классы с полями-указателями [re: Leron]
      12.12.2009 10:58
 

кстати, тут уже намекали.
компилятор один, а рантайм от другого. может, в этом ошибка?

Rammstein
sir

Рег.: 08.11.2003
Сообщений: 1144
Из: рамштайния
Рейтинг: 171
  Re: c++ классы с полями-указателями [re: pianist]
      15.12.2009 23:49
2

Йо, Пеонизд, запости какой-нибудь свой код? А то я все анекдоты уже прочитал.



Optics rulez 4ever
Страницы: 0 | 20 | показать все

Technical >> Development (Archive)

Дополнительная информация
0 зарегистрированных и 0 анонимных пользователей просматривают этот форум.

Модераторы:  DarkGray 

Печать темы

Права
      Вы можете создавать новые темы
      Вы можете отвечать на сообщения
      HTML отключен
      UBBCode включен

Рейтинг:
Просмотров темы:

Переход в