У меня есть метод
должен возвращать текст из файла построчно
return 0;
break;
return res;
MyString::Copy
передан ноль. Где именно произойдет падение и почему?m_string[m_length] = '\0';
или m_string
можно как-то иначе инициализировать чтобы не писать эту строчку?MyString::Copy
ты практикуешь ранний выход, но не нарушает ли это инвариант типа?MyString::Copy
из *this
не создавалась временная строка, деструктор которой ты и наблюдаешь? new
, нужно читать именно стандарт, а не документацию майков.new
не убивает процесс. Рядовая форма, используемая в этом коде, именно что бросит исключение, ловить которое будет некому. Ситуацию в сторону возвращается ноль исправляет аргумент std::nothrow
для самого new
. if (m_string == nullptr)
return *this;
Можно попробовать сделать функцию которая возвращает пару.
swap
означает именно фактический размен состояний между аргументами.swap
, использующая третий объект. clear(quad_mesh);
и glDeleteProgram(quad_shader);
из области видимости первого окна?while(!glfwWindowShouldClose(win_0.id))
явно говорят о том, что к моменту начала области видимости второго окна ни от меша, ни от шейдера следа у же не останется.Как учить C++, я полагаю, можно найти в интернете. Но отсался вопрос по книгам.
config.search_int("foo").and_then(lambda);
. Код выходит довольно наглядный.