Size: a a a

2020 July 24

🦊

🦊fox.cpp in C++ Together 2.0
Iskandar
Здравствуйте!
можете подсказать
что здесь имеется ввиду?
весь код сюда
источник

CC

Cool Cooler in C++ Together 2.0
glShaderSource(vertexShader, 1, &vertexSharedSource, NULL);

Почему &, если:
const char *vertexSharedSource = "#version 330 core\n"
"layout (location = 0) in vec3 aPos;\n"
"void main()\n"
"{\n"
"    gl_Position = vec4(aPos.x, aPos.y, aPos.z, 1.0);\n"
"}\n"
"\0";

?
источник

I

Iskandar in C++ Together 2.0
🦊fox.cpp
весь код сюда
источник

🦊

🦊fox.cpp in C++ Together 2.0
Iskandar
что будет, если я введу степень 0
источник

f&

fox.py &>/dev... in C++ Together 2.0
🦊fox.cpp
что будет, если я введу степень 0
UB, я думаю
источник

🦊

🦊fox.cpp in C++ Together 2.0
код не будет корректно работать для n <= 4 ввиду выхода за пределы массива
источник

🦊

🦊fox.cpp in C++ Together 2.0
не знаю, откуда статический анализатор студии взял 24, но намек правильный
источник

f&

fox.py &>/dev... in C++ Together 2.0
некоторые реализации поддерживают malloc(0) для кода вида while (qwerty) realloc()
источник

f&

fox.py &>/dev... in C++ Together 2.0
а некоторые - нет.
источник

🦊

🦊fox.cpp in C++ Together 2.0
fox.py &>/dev/null
некоторые реализации поддерживают malloc(0) для кода вида while (qwerty) realloc()
у него после malloc доступ к массиву интересный
источник

🦊

🦊fox.cpp in C++ Together 2.0
в цикле
источник

f&

fox.py &>/dev... in C++ Together 2.0
🦊fox.cpp
у него после malloc доступ к массиву интересный
неизвестно, что сделает new T[0]
источник

f&

fox.py &>/dev... in C++ Together 2.0
а new кстати может исключениями плеваться, если не ошибаюсь?
источник

🦊

🦊fox.cpp in C++ Together 2.0
std::bad_alloc мб
источник

🦊

🦊fox.cpp in C++ Together 2.0
fox.py &>/dev/null
а new кстати может исключениями плеваться, если не ошибаюсь?
>When the value of the expression in a direct-new-declarator is zero, the allocation function is called to allocate an array with no elements.
источник

🦊

🦊fox.cpp in C++ Together 2.0
оно вызовет malloc(0)
источник

f&

fox.py &>/dev... in C++ Together 2.0
🦊fox.cpp
оно вызовет malloc(0)
а malloc(0) это UB ЕМНИП
источник

f&

fox.py &>/dev... in C++ Together 2.0
и даже если malloc(0) вернет валидный указатель, ты не имеешь права по нему писать.
источник

f&

fox.py &>/dev... in C++ Together 2.0
иначе сломаешь аллокатор.
источник

🦊

🦊fox.cpp in C++ Together 2.0
malloc(3) обещает вернуть NULL при malloc(0)
источник