Pull to refresh
120
0
Сергій Олендаренко @GooRoo

User

Send message
По-моему, никто Вас здесь и не заставляет Ваше правило нарушать. Живёте по нему — ну и живите ;)
Если не скажет «Нет», а просто промолчит, значит угадали ))
Из всех догадок, которые здесь уже были озвучены, Ваша мне нравится больше всего…
Так и делаю ;)
Вынужден с Вами не согласиться. Сигнатура функции — это то, по чем можно уникально идентифицировать одну единственную, конкретную функцию. В С++ для этого транслятору возвращаемый тип не нужен.
Если класс абсолютно пустой, то откуда по-Вашему у него размер в 1 байт?

1. Я тоже не уверен, что для всех компиляторов. И вряд ли в стандарте об этом сказано, но, если я не ошибаюсь, там сказано, что объект пустого класса должен иметь ненулевой размер.

2. А получается так потому, что этот фиктивный член нужен только для того, чтобы у объектов класса был ненулевой размер. Если у меня в иерархии будет 20 классов, то это нужно тратить целые 20 байт? А зачем, если хватит и одного? Более того, если в классе есть хотя бы одна виртуальная функция, то этот самый фиктивный член не будет создан, потому что с его функциями будет отлично справляться скрытый указатель на таблицу виртуальных функций. Я об этом упоминал когда-то в своей галиматье.

3. Ну да, с практической точки зрения можно считать, что его нет =) Но в общеобразовательных целях можно и такую мелочь запомнить (:
Возможно, стоит упомянуть, что компилятор также добавляет в класс Empty фиктивный член, чтобы размер объекта класса не был нулевым.
Если мне память не изменяет, в С++ тип возвращаемого значения к сигнатуре функции как раз не относится.
Да, но автор забраковал С++ по причине того, что там такого нет. Не думаю, что в C++ такой механизм был бы уместен.
Да, простите. Я вечно забываю, что кроссплатформенность важна не для всех продуктов :-[

В любом случае, я считаю, что навешивать на и без того сложный и перегруженный С++ конструкции типа
__declspec(property(get = getprop, put = putprop)) int the_prop;
ради сомнительной пользы да и еще с потерей кроссплатформенности — это перебор.

Мне нравятся свойства в C#, потому как это изначально встроенная фича языка, но в С++ можно прекрасно обходиться и без этого.
Для справок: у Delphi и C# автор по большому счету один — Андерс Хейлсберг.
Делаем выводы.
Как насчет ссылочки на стандарт?

Я с таким же успехом могу Вам написать про свойства в Qt…
Обижаться не надо! А статьи можете начинать писать ;) У Вас есть все шансы показать, что Вы тоже исключение ))
Хотя, по поводу постскриптума, пожалуй, все-таки бывают исключения, как то Алёна Сагалаева…
Потратил 2 часа на чтение топика и комментов %_%
Любая мысль, которая может прийти Вам в голову, уже была кем-нибудь «озвучена» в этой теме как минимум три раза… ;)

C++, Qt — это, конечно, хорошо. Но в целом вся работа, прошу прощения, — «постная х%$ня» ©. И дело не столько в качестве, сколько в пЕаре: ей-богу, я так понтовался в 15 лет.

P.S. > «да-да, женщина-программист — не фантастика, мы существуем…»
Ну вот, а я уж было и вправду поверил :'(
Йащетаю, что не стоит этого стыдится, ибо что сделано, то сделано. Нужно просто запомнить свой «промах» и больше такие ошибки не делать.

Information

Rating
Does not participate
Location
Украина
Registered
Activity