Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.192] |
|
|
Правила раздела:
| Страницы: (495) « Первая ... 35 36 [37] 38 39 ... 494 495 ( Перейти к последнему сообщению ) |
Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
|
Сообщ.
#541
,
|
|
|
|
D_KEY, да, можно, есть WeakReference.
Но только надо отдельно переменную объявить и использовать в лямбде её. Как в новых плюсах влиять на захват нельзя. Он даже типы значений захватывает по ссылке В свой первый накол на эту |
|
Сообщ.
#542
,
|
|
|
|
Это я знаю Проблема как указать лямбде, чтобы она их использовала.Цитата Но только надо отдельно переменную объявить и использовать в лямбде её. Как в новых плюсах влиять на захват нельзя. Жаль. Цитата Он даже типы значений захватывает по ссылке В свой первый накол на эту ![]() Мне попадался какой-то прикол с переменной-счетчиком цикла. Оно? |
|
Сообщ.
#543
,
|
|
|
|
|
Сообщ.
#544
,
|
|
|
|
Цитата --Ins-- @ Они имеют самое прямое отношение к инкапсуляции ![]() эм... нет. |
|
Сообщ.
#545
,
|
|
|
|
Цитата --Ins-- @ Они имеют самое прямое отношение к инкапсуляции ![]() Хм... Как я при чтения чужого кода увижу, использует ли он свойства, или напрямую атрибуты меняет? Цитата Обе не нужны Отлично. Давай D_KEY попросим покритиковать обе ![]() На вскидку - у тебя мне не нравится какой-то странный record с case, у MyNameIsIgor - вроде кода больше и задания свойств читается немного хуже, но это мое ИМХО(мне вообще не нравится, как выглядят свойства в шарпе с синтаксической точки зрения). |
|
Сообщ.
#546
,
|
|
|
|
Цитата D_KEY @ Как я при чтения чужого кода увижу, использует ли он свойства, или напрямую атрибуты меняет? В том то же и дело что НИКАК И ведь это не твое дело. Инкапсуляция в том и заключается, что ты не знаешь особенности внутренней реализации и не станешь на нее полагаться.Цитата D_KEY @ странный record с case Это юнион |
|
Сообщ.
#547
,
|
|
|
|
Цитата D_KEY @ Проблема как указать лямбде, чтобы она их использовала. Ну, только созданием отдельной переменной. С другой стороны, если у тебя shared_ptr<T>, а захватить хочется по слабому указателю, то всё равно же weak_ptr<T> заведёшь ![]() Цитата D_KEY @ Мне попадался какой-то прикол с переменной-счетчиком цикла. Оно? В первый раз - да Второй раз было посложнее ![]() Цитата --Ins-- @ Отлично. Давай D_KEY попросим покритиковать обе Куда бежим то? Я задал два вопроса, потому что не до конца понял |
|
Сообщ.
#548
,
|
|
|
|
Цитата --Ins-- @ Цитата D_KEY @ Как я при чтения чужого кода увижу, использует ли он свойства, или напрямую атрибуты меняет? В том то же и дело что НИКАК И ведь это не твое дело. Инкапсуляция в том и заключается, что ты не знаешь особенности внутренней реализации и не станешь на нее полагаться.Это касается интерфейса класса. Да и не всегда ты являешься простым клиентом... Цитата Я понимаю, что это. Мне не нравится, что оно там есть Цитата D_KEY @ странный record с case Это юнион ![]() |
|
Сообщ.
#549
,
|
|
|
|
Цитата MyNameIsIgor @ Я задал два вопроса Прошу прощения 1) Нет, естественно. В обход сеттера изменить значение свойства нельзя 2) Да, это юнион. |
|
Сообщ.
#550
,
|
|
|
|
Вот, кстати, в отсутствии const в шарпе геттры делаю не изменяющими состояния объекта - ну, собственно, как свойству и положено ![]() Хоть как-то объект описывает, в то время как метод говорит о том, что он что-то делает С другой стороны и метод может не менять состояния, а не свойство он просто потому, что входные параметры нужны. Добавлено Цитата --Ins-- @ 1) Нет, естественно. В обход сеттера изменить значение свойства нельзя Какого сеттера? Мы отдаём точку (Point) и пользователь хочет изменить у неё одну из координат. Мне такое поведение кажется нелогичным... Хотя у меня так же... |
|
Сообщ.
#551
,
|
|
|
|
Цитата --Ins-- @ В том то же и дело что НИКАК И ведь это не твое дело. Инкапсуляция в том и заключается, что ты не знаешь особенности внутренней реализации и не станешь на нее полагаться.отчего же никак? делфи вполне неплохо определяет в списке дополнения кода, к чему мы пытаемся обратиться |
|
Сообщ.
#552
,
|
|
|
|
Цитата D_KEY @ Мне не нравится, что оно там есть А это нравится больше? Цитата X = coords[i * 2], Y = coords[i * 2 + 1]? Ну давая я уберу юнион, сделаю так же - массив из 4-х циферок Тогда понравится? Мне, если честно, нет. |
|
Сообщ.
#553
,
|
|
|
|
Цитата MyNameIsIgor @ Цитата D_KEY @ Проблема как указать лямбде, чтобы она их использовала. Ну, только созданием отдельной переменной. С другой стороны, если у тебя shared_ptr<T>, а захватить хочется по слабому указателю, то всё равно же weak_ptr<T> заведёшь ![]() Это да. Было бы неплохо, если бы можно было как-то указывать захватываемый объект(например, конструировать из захватываемого объекта другой), хотя тут уже можно и свой функтор заводить, а не лямбду писать. А то уж слишком монстрообразно выглядит: ![]() ![]() [weak_ptr<T> w(shared_from_this())](int x) { ... } С другой стороны, более обобщенно. А может меня уже плющит на работе... Цитата Цитата D_KEY @ Мне попадался какой-то прикол с переменной-счетчиком цикла. Оно? В первый раз - да Второй раз было посложнее ![]() А можешь в общих чертах рассказать? |
|
Сообщ.
#554
,
|
|
|
|
Цитата --Ins-- @ Ну давая я уберу юнион, сделаю так же - массив из 4-х циферок Тогда понравится? Мне, если честно, нет. Я то как раз не стал юзать подобный хак... Мне это тоже не нравится... |
|
Сообщ.
#555
,
|
|
|
|
Цитата MyNameIsIgor @ Какого сеттера? Мы отдаём точку (Point) и пользователь хочет изменить у неё одну из координат. Мне такое поведение кажется нелогичным... Хотя у меня так же... Нет, смотри. Points[0] - это свойство. Ты же хочешь изменить его значение, неважно что частично. Так вот, ты это хочешь сделать в обход сеттера. А если в сеттера дергается что-то важное? Например OnChange или что-то в этом роде. Что же тогда будет? Это только кажется логичным, на самом деле что нельзя - это правильно. Свойство при получении не отдается пользователю на растерзание. Фишка свойств как раз в том, чтобы доступ к данным ОГРАНИЧИТЬ, запретив установку и получение в обход акцессоров Добавлено Цитата MyNameIsIgor @ Я то как раз не стал юзать подобный хак... Мне это тоже не нравится... Ну значит дело вкуса. Мне как раз юнион больше по душе. У меня фобии на их почве нет, вполне законное средство. |