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

Основная проблема с которой я сталкиваюсь в современных плюсах -

это то, что примитивные типы не являются объектом, поэтому с ними по сути ничего нельзя сделать. Нужно вызвать шаблонную функцию в зависимости от своих условий и сделать это красиво? Не получится так сделать, придется клипать множество условий для каждого типа:
call_function<int>(); // так можно
call_function<abc == true ? int : float>(); // так нельзя

17 ответов

25 просмотров

Примитивные типы являются объектом. Для второго тоже есть решение, пусть и "некрасивое"

std::conditional

call_function<std::conditional_t<abc, int, float»

abc-cba Автор вопроса
Liber Azerate
Примитивные типы являются объектом. Для второго то...

Примитивные типы являются объектом? Хм, интересно. Почему тогда их нельзя засунуть в условный массив? :) std::conditional реализован с шаблонами. Есть технологии, где стандартную библиотеку использовать нельзя (или не принято), в таких случаях нужно писать свое решение - это очень неудобно

abc cba
Примитивные типы являются объектом? Хм, интересно....

В смысле нельзя засунуть в условный массив? 0_о

abc cba
Примитивные типы являются объектом? Хм, интересно....

https://en.cppreference.com/w/cpp/types/conditional Элементарно делается аналог. Смотри раздел "possible implementation" И да, совсем нельзя использовать стандартную библиотеку разве что в универе. Даже freestanding implementation С++ требует наличия возможности инклюдить type_traits

abc cba
Примитивные типы являются объектом? Хм, интересно....

программы на С++ в процессе выполнения только объектами и оперируют. объекты примитивных типов не исключение

abc-cba Автор вопроса
Vlad
программы на С++ в процессе выполнения только объе...

Типы все же не объекты в c++, в этом я уверен на 100%. Это совсем другая сущность

abc cba
Типы все же не объекты в c++, в этом я уверен на 1...

Хочешь я вызову метод на литерале поимитивного типа?

abc cba
Типы все же не объекты в c++, в этом я уверен на 1...

я не просто так написал «во время выполнения»

Liber Azerate
Хочешь я вызову метод на литерале поимитивного тип...

псевдодеструкторы это немного читерство

Vlad
псевдодеструкторы это немного читерство

Да, но мне очень нравится этот аргумент в спорах про объекты :)

Liber Azerate
Примитивные типы являются объектом. Для второго то...

Подождите, тип это же класс, а объект это экземпляр, не?

anton
Подождите, тип это же класс, а объект это экземпля...

Ну, думаю тут имелось в виду "объекты примитивных типов". Если нет, то я неправильно понял автора, но ни один тип, конечно, не объект, так что сомневаюсь

abc-cba Автор вопроса
Liber Azerate
Ну, думаю тут имелось в виду "объекты примитивных ...

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

abc cba
Да, имел в виду примитивный тип. Вообще страшно ...

Ну, эта терминология несколько сбила с толку. Будто бывает "непримитивный" тип, который является объектом. Но для действий над типами как над объектами этих типов существует особая магия, называемая невычислимый контекст так-то

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта