В сравнении двух чисел мы обычно используем оператор " if ", который при истинности (по сути единица) выражения запускает код, который находится внутри, а при ложном пропускает этот код. Вроде всё просто сравнение, но как компьютер понимает что два числа равны или больше, или меньше и как работает этот оператор "…
Вопрос
3 1.6K
38
Принятый ответ
Почитай про boolean и как работают его операции. Он не связан с числовыми типами (кроме Си, но не будем трогать магию слабой типизации), советую почитать про типизацию и приведение типов в C++. Дальше можно переходить к тому, что такое int32/64, а дальше ieee float

Крайне не рекомендую объединять логические и численные операции - разбираться в этом потом очень больно, даже самому себе через пару месяцев
Сразу предупрежу - я только начал изучать С и не нужно помидоры кидать в меня.
имеем к примеру -
std::string WantBuyApples = u8"я хочу купить %s яблок";
вот вопрос в этом - как перекрасить каждое отдельное слово (не важно в какой цвет и т.д.) и вообще реально ли это? Или все делается в самом printf?
Вопрос
2 1.1K
15
Прежде всего запомни, что всё в C и C++ это цифры, байты и биты, ничего более. Всё состоит из фундаментальных типов. Стандартные библиотеки, позволяющие использовать строки, контейнеры и прочие ништяки не умеют работать с графикой и не предназначены для работы с ней, это просто данные, в свою очередь тоже основанные на числовых фундаментальных типах. Так и строка std::string это просто контейнер для динамического массива char'ов, которые являются по сути числами размером в один байт. Числа не знают какого они цвета, формы, шрифта, они просто хранят в себе информацию, в данном случае текст. Окрасить текст в цвета можно в зависимости от того где ты этот текст выводишь. Консоль на винде в такое не умеет, а если умеет то косо и криво, и вообще с этим играться бесполезно. Консоль на линуксе умеет в цвета, там для этого есть escape-последовательности которые ставятся перед текстом, подобно цветовым кодам в варкрафте. Играйся с winapi или лучше Qt, в последнем вообще в html отображаемый текст форматировать можно.
24
Строки сами по себе не имеют ничего общего с визуальным форматированием - это делается на этапе вывода.

Работа с небезопасным кодом в C#

Язык C# поддерживает указатели, однако несколько ограниченно. Ограниченность заключается в том, что применение указателей не поощряют, поскольку справедливо считается, что это может повлиять на надежность как кода, так и среды выполнения в целом.
Указатель - это переменная, содержащая в себе адрес памяти, в которой…
Статья
16 8.9K
29
Msey:
Самый частый случай, который встречался мне на практике - это более шустрые операции с массивами и строками за счет отсутствия проверки их границ.
оптимизация работы с большими массивами данных, когда надо тоскать между функциями все эти данные и манипулировать небольшими участками массива без выделения в небольшой кусочек.
Но с недавних пор это все не актуально стало. В новом стандарте есть новые структуры данных, которые оборачивают такие небезопасные операции и непосредственное использование unsafe становится ненужным
29
Doc, "Все структуры C# имеют значимый тип". Пофикшено.
29
Все структуры C# имеют тип переменной
Это так переведено all C# structs are value types?
29
Hanabishi, теперь понял. Теперь мне придётся пересмотреть некоторые темы программирование, а то уже совсем что-то забываю. Уже начал путать эмулятор со строгим оптимизатором, грубо говоря.
И ещё, извиняюсь за свою неграмотность в области ЯП.

Атрибуты в C#

Атрибутами в C# являются классы, содержащие в себе некоторую метаинформацию, встраиваемую в сборку приложения.
Атрибуты могут применяться ко всем типам в C#, включая даже другие атрибуты, поля, методы, свойства и перечисления. Основу атрибутов составляет класс System.Attribute, от которого все предполагаемые классы…
Статья
2 3.2K