while(!somevalue)
{
static int i=0;
int *ptr= new int(i);
if(!function(ptr))
{
delete ptr;
}
i++;
}
Отвечаю на вопрос, связанный с переобъявлением. В масштабе вашего кода все нормально. Не важно, инициализировать указатель перед циклом, или каждый раз его объявлять. Компилятор заботится об этом за вас, у него есть своя автоматическая оптимизация (хотя мб конкретно этот случай к ней не относится)
В итоге мы получаем абсолютно одинаковый asm код в вашем варианте и в альтернативном
void uhh(){
int i;
while (true){
i = 2;
std::cout << i;
}
}
asm:
uhh():
push rbp
mov rbp, rsp
sub rsp, 16
.L4:
mov DWORD PTR [rbp-4], 2
mov eax, DWORD PTR [rbp-4]
mov esi, eax
mov edi, OFFSET FLAT:_ZSt4cout
call std::basic_ostream<char, std::char_traits<char> >::operator<<(int)
jmp .L4
void uh(){
while (true){
int i = 2;
std::cout << i;
}
}
asm:
uh():
push rbp
mov rbp, rsp
sub rsp, 16
.L2:
mov DWORD PTR [rbp-4], 2
mov eax, DWORD PTR [rbp-4]
mov esi, eax
mov edi, OFFSET FLAT:_ZSt4cout
call std::basic_ostream<char, std::char_traits<char> >::operator<<(int)
jmp .L2
Переводил код на плюсах в asm код с помощью этого сервиса
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Надо распечатать DataTable(DataGrid) в горизонтальной(альбомной) ориентацииПробовал печатать DataGrid, не влазит(много колонок)
Есть Dictionary < int[], string > example_dictionary , при записи в него новой переменной мне надо проверить, существует ли уже данный ключ, но если делать так:
В общем, если посмотреть код, то видно, что там здоровенный switch, который выбирает нужную реализацию