A::B
class Interface {
public:
virtual int method() = 0;
};
class Implementation: public Interface{
public:
int method() override {
// some code
}
};
std::pair<int, int> func()
{
return std::make_pair(1, 2);
}
int x, y;
std::tie(x, y) = func();
void func(int &res1, int & res2)
{
res1 = 1;
res2 = 2;
}
int x, y;
func(x, y);
scanf("%d", books[i].price);
вы передаёте туда саму цену, а не указатель на неё. Ещё раз перепроверьте все эти строки. tmp1 = new int(42);
tmp2 = seed();
tmp3 = std::shared_ptr<int>(tmp1);
foo(tmp3, tmp2);
foo(std::make_shared<int>(42), seed());
[intro.execution] Paragraph 15:
When calling a function (whether or not the function is inline), every value computation and side effect associated with any argument expression, or with the postfix expression designating the called function, is sequenced before execution of every expression or statement in the body of the called function. [ Note: Value computations and side effects associated with different argument expressions are unsequenced. — end note ] Every evaluation in the calling function (including other function calls) that is not otherwise specifically sequenced before or after the execution of the body of the called function is indeterminately sequenced with respect to the execution of the called function.
a+ Open for reading and appending (writing at end of file). The file is created if it does not exist. The initial file position for reading is at the beginning of the file, but output is always appended to the end of the file.