Некоторые пользователи уже дали свой ответ и объяснили это очень хорошо.
Я хотел бы добавить еще несколько вещей, связанных с потоком.
#include<thread>
#include<Windows.h>
#include<iostream>
using namespace std;
class CB
{
public:
CB()
{
cout << "this=" << this << endl;
}
void operator()();
};
void CB::operator()()
{
cout << "this=" << this << endl;
for (int i = 0; i < 5; i++)
{
cout << "CB()=" << i << endl;
Sleep(1000);
}
}
void main()
{
CB obj; // please note the address of obj.
thread t(obj); // here obj will be passed by value
//i.e. thread will make it own local copy of it.
// we can confirm it by matching the address of
//object printed in the constructor
// and address of the obj printed in the function
t.join();
}
Другой способ достижения того же:
void main()
{
thread t((CB()));
t.join();
}
Но если вы хотите передать объект по ссылке, используйте синтаксис ниже:
void main()
{
CB obj;
//thread t(obj);
thread t(std::ref(obj));
t.join();
}
Выполните эту команду в своей папке проекта. Используйте подача вместо сборки
node --max_old_space_size=8000 node_modules/@angular/cli/bin/ng serve --prod --port=4202
Я получил то же сообщение об ошибке, когда я выполняю следующие утверждения в коде Visual Studio. Но я могу создать успешно, когда я выполняю то же самое в командной строке окон.
npm install -g increase-memory-limit
increase-memory-limit
set NODE_OPTIONS=--max_old_space_size=4096
ng build -c deploy --build-optimizer --aot --prod --sourceMap
Проверка Ваше имя папки. Если Ваше имя папки, имеющее пробелы, подобные проблемы генерируют. Переименуйте без пробелов. надежда это будет работать.