Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
std_minmax_unexpected_behaviour.cpp
#include <cassert> #include <algorithm> #include <iostream> #include <vector> void testminmax_with_subtraction_expression() { std::pair<int, int> pair = std::minmax(3, 5 - 3); assert(pair.first == 2); assert(pair.second == 3); } void testminmax_with_addition_expression() { std::pair<int, int> pair = std::minmax(3, 5 + 3); assert(pair.first == 3); assert(pair.second == 8); } void testminmax_with_subtraction_expression_assign_to_second_var() { std::pair<int, int> pair = std::minmax(5, 3); // The below call to minmax is equivalent to that in testminmax_with_subtraction_expression std::pair<int, int> pair2 = std::minmax(pair.first, pair.second - pair.first); assert(pair2.first == 2); assert(pair2.second == 3); } void testminmax_with_addition_expression_assign_to_second_var() { std::pair<int, int> pair = std::minmax(5, 3); // The below call to minmax is equivalent to that in testminmax_with_addition_expression std::pair<int, int> pair2 = std::minmax(pair.first, pair.second + pair.first); assert(pair2.first == 3); assert(pair2.second == 8); } void testminmax_with_subtraction_expression_assign_to_same_var() { std::pair<int, int> pair = std::minmax(5, 3); // The below call to minmax is equivalent to that in testminmax_with_subtraction_expression pair = std::minmax(pair.first, pair.second - pair.first); assert(pair.first == 2); assert(pair.second == 3); } void testminmax_with_addition_expression_assign_to_same_var() { std::pair<int, int> pair = std::minmax(5, 3); // The below call to minmax is equivalent to that in testminmax_with_addition_expression pair = std::minmax(pair.first, pair.second + pair.first); assert(pair.first == 3); assert(pair.second == 8); } int main() { testminmax_with_subtraction_expression(); testminmax_with_addition_expression(); testminmax_with_subtraction_expression_assign_to_second_var(); testminmax_with_addition_expression_assign_to_second_var(); testminmax_with_subtraction_expression_assign_to_same_var(); // This function will fail testminmax_with_addition_expression_assign_to_same_var(); }
run
|
edit
|
history
|
help
0
cppPySuper
TwoVarRegression
replace_copy_if-30-Seconds-of-C++
FuktExam.cpp
nobita's candies problem
basic caculate iii
PrintShapePointer
ABC.cpp
Полиморфизм. Простейшее ДЕМО.
palindrome