170 похожих чатов

А можно в с++ как-то сделать так, чтоб извне класса

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

54 ответов

14 просмотров

иди книгу читай, лимит простых вопросов ты выбрал :)

Нет То, что ты написал — является свойствами и в С++ нет их синтаксической поддержки, они реализуются через геттеры и сеттеры

bubilden- Автор вопроса
Danya🔥
Нет То, что ты написал — является свойствами и в С...

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

bubilden
ну вот. как я бы смог в книге узнать, что нет. они...

в С++ предпочитают не добавлять какой то бесполезный синтаксический сахар, который можно заменить написав 2 строчки

Danya🔥
Range based for Lambdas ...

range based for это даже не близко сахар, это громадная концепция ренжей, в продолжение абстракций итераторов, аллокаторов и т.д.

Kelbon
range based for это даже не близко сахар, это гром...

Мне даже интересно как range based for связан с аллокаторами )

Danya🔥
Мне даже интересно как range based for связан с ал...

тем что это тоже отличная абстракция, на которой стоит stl, правда на ренжах оно не стояло, просто ренжи это продолжение той мысли

Kelbon
тем что это тоже отличная абстракция, на которой с...

Ranges могут существовать без range based for и наоборот

Хотели сделать но не сделали

Kirill Bolshakov
Нет, это именно сахар

У человека С++ головного мозга

Мб с метаклассами можно будет запилить самому, я бы юзал

Young Night
Запили

Кто-то в комитете в запой ушел?

Young Night
И это тоже

@zamazan4ik так вот почему тебе Саттер не отвечал или кто там

Danya🔥
@zamazan4ik так вот почему тебе Саттер не отвечал ...

вполне возможно :) с С++ так-то сложно не начать пить или чего похуже

bubilden
жду постклассы

Жду когда отменят рабство инклудов

class Foo { uint64_t tss = 0; public: const uint64_t* const tss_public = &tss; }; 👹

Danya🔥
Отменили уже

Хуево как то clion ваще не подерживает модули

Young Night
На Линукс

Надо просто Винду юзать

Young Night
На Линукс

А им не надо просто пользоваться

bubilden- Автор вопроса

да, это тож решение, но все так же длинная доп. строка кода и новое имя)

Ну... можешь приватную переменную назвать как-нибудь по-другому

Не сильно она и длинная...

bubilden
да, это тож решение, но все так же длинная доп. ст...

я бы больше переживал за 8 байт памяти на каждый инстанс класса

Young Night
Не хочу жрать говно )

За три месяца работы на ноуте с убунтой у меня 3 раза в мертвую зависал гуй. За 3 года юзания дома винды 10 такого ниразу не было

Ох великая потеря

Kelbon
я бы больше переживал за 8 байт памяти на каждый и...

и за то что метод фактически также в 1 строку делает это гораздо лушче

Danya🔥
Да, щас бы на спичках экономить мм

эм, у тебя в классе вместо нужного валяется какая то помойка некрасивая ещё и занимает лишние 8 байт, ничего себе мелочи

Нельзя

Kirill Bolshakov
За три месяца работы на ноуте с убунтой у меня 3 р...

дрова, но не в этом суть. На винде не поддерживаются большинство девелоперских тулов, винда это убожество, и соответственно обычно те кто на ней работывают, скатываются в убожество (дисклеймер, я сейчас для винодовых СЕРВЕРОВ разрабатываю)

Kelbon
я бы больше переживал за 8 байт памяти на каждый и...

[[no_unique_address]] из С++20 не поможет слить это в один адрес?

Я как-то плохо себе это представляю

«&tss» в асме это то же самое что «this», смысла держать память под эту переменную особо нету

А что если там есть некоторое смещение от this

Kirill Bolshakov
Мб с метаклассами можно будет запилить самому, я б...

как бы это выглядело для пользователей класса со свойствами и разработчиков?

Vlad
как бы это выглядело для пользователей класса со с...

Скорее всего просто будет кодоген сетеров и гетеров из property<int> some_field;

Vlad
а если кастомные геттер или сеттер?

Можно будет писать их самому

Похожие вопросы

Обсуждают сегодня

Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
10
А дальше что?.. Записать в файл, потом в Код?.. И потом разбирать как-то?..
Хаскель Моисеевич Гопник
14
А чем вам питонисты не угодили?😂
.
79
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
48
type TObj = object procedure Init; virtual; end; TObj1 = object(TObj) procedure Init; override; end; procedure TObj1.Init; begin inherited; end; procedur...
Alexander 👋
29
@y0zhig @shizzard А можно я опишу цель и может вообще ерланг мне не подходит. На текущий момент как я понимаю у ерланга есть легковесные потоки и задача выполняется в каком т...
Дмитрий Спиридонов
5
Есть предложения, как подобное можно упростить?
Hemul GM
12
У меня вопросик назрел. Почему, создав класс без наследования и реализации деструктора Destroy, деструктор не вызывался при free. Потом указал наследование от tobject и overri...
Сергей Бычков
9
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
86
Такой вопросец - есть функция function MySuperDuperConcat(const a: array of AnsiString): AnsiString; Как мне в её теле сделать вот так? Result:=Concat(a); А не грустный вариан...
notme
15
Карта сайта