Шпаргалка.CPP_Crib_2018.pdf (156,1 КБ)
Презентация 1. 01_BeginCPP.pdf (333,8 КБ)
Презентация 2. 02_МногофайловаяКомпоновка.pdf (288,4 КБ)
Шпаргалка.CPP_Crib_2018.pdf (156,1 КБ)
Презентация 1. 01_BeginCPP.pdf (333,8 КБ)
Презентация 2. 02_МногофайловаяКомпоновка.pdf (288,4 КБ)
Если можно, опубликуйте сам код
#include <iostream>
int main()
{
int a[5] = { 1,2,3,4,5 };
for (int i = 0; i < 1000000;i++)
{
a[i] = 666;
std::cout << a[i] << " ";
}
}
при этом, я заметил, что если идти например до 10, то компилятор выругается и что начиная с 1000 кол-во чисел 666 не увеличивается(я предпологаю, что это из-за засарения стека)
Станислав Станиславович, можете пожалуйста выложить схему, которая рассматривалась на лекции во вторник 20.11?
Самостоятельно разобраться в причинах вызова обычного/move конструктора/оператора= в классе cstring_vector так и не смог, поэтому выкладываю код, о котором я вам рассказывал, Станислав Станиславович. Надеюсь, сможете подсказать. Непосредственно вызовы (внутри реализованы все 4 метода - обычные и move версии конструктора и оператора= ):
cstring_vector ttt;
ttt = ReadLines();
/*Input string (1024 characters at most): 12
Input string (1024 characters at most):
cstring_vector move operator= invoked
cstring_vector copy constr invoked*/
cstring_vector ttt1 = ReadLines();
//*nothing*
Также, прикладываю файлы проекта. Пробовал Release и Debug конфигурации на Clang и GCC, результат не меняется.
cstring_utils.h (301 Байт) main.cpp (1,2 КБ) cstring_vector.h (4,7 КБ)
А в чём проблема - опишите?
Насколько я понял из лекций, в строке cstring_vector ttt1 = ReadLines();
должен вызываться move-конструктор, а в строке ttt = ReadLines();
происходить RVO (тогда бы не было вызова КК), но этого не происходит.
У меня в другом коде тут
myvec<int> f()
{
myvec<int> v(10);
return v;
}
происходит вызов move-конструктора, а тут
myvec<int> f()
{
return myvec<int> v(10);
}
нет. Видимо, все научились тут делать RVO.
Станислав Станиславович, опубликуйте, пожалуйста, листики с последних лекций: контейнеры STL и стандартные алгоритмы
Станислав Станиславович, опубликуйте, пожалуйста, раздаточный материал с последней лекции про ассоциативные контейнеры и умные итераторы
Станислав Станиславович, пожалуйста, выложите программу экзамена
Что нужно ответить в вопросе программы 59. Клонирование полиморфных контейнеров? На лекции мы обсуждали только как создавать их и освобождать память, затем сразу перешли к виртуальным деструкторам
Напишите виртуальную функцию clone() и переопределите её в каждом потомке
Спасибо.
А что имеется в виду в вопросе 68. Цикл foreach и условия его применимости? Это условия на тип переменной v
при использовании for (auto x : v) {/*...*/ }
или при использовании for_each(begin(v), end(v), [](auto x) {/*...*/ })
?