Я написал функцию печати следующим образом.Мой код, кажется, выполнен в неправильном порядке
#define NDEBUG
void print(vector<int> &vec)
{
#ifdef NDEBUG
std::cout << "vector size: " << vec.size() << std::endl;
#endif
if (!vec.empty())
{
auto temp = vec.back();
vec.pop_back();
print(vec);
std::cout << temp<<std::endl;
}
}
печатает:
vector sise:6
vector sise:5
vector sise:4
vector sise:3
vector sise:2
vector sise:1
vector sise:0
1
2
3
4
5
6
, но я ожидаю, что это будет что-то вроде:
vector sise:6
6
vector sise:5
5
vector sise:4
4
vector sise:3
3
vector sise:2
2
vector sise:1
1
vector sise:0
Является ли из-за приоритета потоков? если это так, как я могу контролировать правильный порядок выполнения в качестве моего кода?
Вы говорите о теме, но вы код показать ничего не связанные с резьбой. Обновите свой вопрос с помощью sscce. – Hiura
'sise'? действительно? :) –
Ваш результат не соответствует вашему коду. «Сисек», как упоминалось, и пространство после толстой кишки. –