Уроки С++ / Урок
HTML-код
- Опубликовано: 2 янв 2024
- 1. Куда растет стек ?
2. Как виртуальная память соотносится с физической?
3. Какая структура виртуальной памяти?
4. Чем занята операционная система на самом деле?
#C++ #virtualmemory #ОС #RAM #ОЗУ #stack
#урокиснуля #счегоначатьпрограммирование
#лаконично
#qt
#vovasharade #вовашараде
Большое спасибо за уроки!
зачем нужен вызов функции? почему нельзя объявить две переменные внутри main?
Конечно можно обьявить и просто переменные. Функция показывает, что память будет выделена в стеке.
Зачем вообще нужно тренарный оператор? Как то оптимизирует или укарачвает код? Почему не if оператор?
Да, это несет двоякий эффект. Он и количество инструкций сокращает и более компактный. Его недостаток - он не так хорошо читаем. Дело привычки...
Уточняю, на ассемблере (язык процессора, более низкоуровневый чем С++) if/else выглядит также, как и тернарный оператор.
if (num == 6)
{
return num * num;
}
else
return num;
или
return num == 6 ? num*num : num;
Примерно так выглядит на ассемблере =)
cmp DWORD PTR [rbp-4], 6
jne .L2
mov eax, DWORD PTR [rbp-4]
imul eax, eax
jmp .L4
.L2:
mov eax, DWORD PTR [rbp-4]
.L4:
pop rbp
ret