Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.192] |
|
|
Правила раздела:
| Страницы: (495) « Первая ... 54 55 [56] 57 58 ... 494 495 ( Перейти к последнему сообщению ) |
Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
|
Сообщ.
#826
,
|
|
|
|
Цитата --Ins-- @ Кого "нас"? Константный Obj он не меняет. Какойтодругойобъект.ЛюбойМетод; // И вот этот ЛюбойМетод может нас поменять? Параметром мы ему себя не передаем. Ссылка на нас у него и так есть - была присвоена когда-то раньше end; |
|
Сообщ.
#827
,
|
|
|
|
Это не внешняя среда - читай выше - древовидный список |
|
Сообщ.
#828
,
|
|
|
|
Цитата Мяут-Настоящий @ А как const-метод может дать гарантии, что ничего не сделано до его вызова. Ессно гарантия const-метода распространяется на время от его вызова до завершения ;-) Он имел ввиду, не в параметре передавать this, а нампример завести еще один класс, у которого есть поле, ну что то типо того: ![]() ![]() class My; class A { A() { m_my = new My; m_my->a = this; } void SomeFunc() const { m_my->ModifyA(); } My* m_my; } class My { public: A* a; void ModifyA() { a->Set(10); } }; Что то типо этого... |
|
Сообщ.
#829
,
|
|
|
|
|
Сообщ.
#830
,
|
|
|
|
Ну так чего ты говоришь что не показал? Предали объект как константный, а его взяли и поменяли. Так? |
|
Сообщ.
#831
,
|
|
|
|
Цитата --Ins-- @ Так где взялся этот "Какойтодругойобъект"? Глобальный шоли? Какойтодругойобъект.ЛюбойМетод; // И вот этот ЛюбойМетод может нас поменять? Параметром мы ему себя не передаем. Ссылка на нас у него и так есть - была присвоена когда-то раньше |
|
Сообщ.
#832
,
|
|
|
|
чтобы протестировать их обоих. =/ либо у них разные реализации, подсовывать в зависимости от каких-то факторов |
|
Сообщ.
#833
,
|
|
|
|
Цитата D_KEY @ Какой-то говнокод получится. Госспади, вы никогда компоновщик не использовали? У меня в каждом проекте по сто раз. Древовидная структура, да блин, компоненты на форме древовидную иерархию образуют Пэрэнт-Чайлд Какой говнокод, акстись |
|
Сообщ.
#834
,
|
|
|
|
Цитата KILLER @ Если ModifyA() - неконстантный метод (как в этом примере), то вызывать его из константного SomeFunc() не получится. Если же константный, то тогда уже в нем нельзя вызвать неконстантный Set() для a void SomeFunc() const { m_my->ModifyA(); } My* m_my; } class My { public: A* a; void ModifyA() { a->Set(10); |
|
Сообщ.
#835
,
|
|
|
|
![]() ![]() class Insider { int i; public: void DamnMutableFunction() { i = 1;} int DamnConstantFunction() const { return i; } }; class External { Insider I; public: External(Insider aI) : I(aI) {} void DamnMutableFunction() { I.DamnMutableFunction(); //OK I.DamnConstantFunction(); //OK } void DamnConstantFunction() const { I.DamnMutableFunction(); //FAIL I.DamnConstantFunction(); //OK } }; |
|
Сообщ.
#836
,
|
|
|
|
Цитата --Ins-- @ Госспади, вы никогда компоновщик не использовали? У меня в каждом проекте по сто раз. Древовидная структура, да блин, компоненты на форме древовидную иерархию образуют Пэрэнт-Чайлд Какой говнокод, акстись ![]() кхм... Цитата Повстанець @ Так где взялся этот "Какойтодругойобъект"? Глобальный шоли? |
|
Сообщ.
#837
,
|
|
|
|
Мяут-Настоящий, что это?
|
|
Сообщ.
#838
,
|
|
|
|
Цитата Adil @ Если ModifyA() - неконстантный метод (как в этом примере), то вызывать его из константного SomeFunc() не получится. Если же константный, то тогда уже в нем нельзя вызвать неконстантный Set() для a Ну так я это --Ins--'у и пояснял, просто мяут поначалу не понял, я для него приводил код, чтобы понятнее было что --Ins-- хочет увидеть... |
|
Сообщ.
#839
,
|
|
|
|
Цитата --Ins-- @ Мяут-Настоящий, что это? ![]() КакойтоДругойОбъект по-сиплюсплюсному ;-D |
|
Сообщ.
#840
,
|
|
|
|
Цитата --Ins-- @ Кого поменяли то? Поменял-то ты какой то другой глобальный объект. Если же этот "какой-то-другой" объект является членом "текущего" объекта, то и вызвать для этого "какого-то-другого" объекта можно только константные методы. Ну так чего ты говоришь что не показал? Предали объект как константный, а его взяли и поменяли. Так? |