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
staticfun
CharSearch
2015(M2)Mod.
BinTreeInsert
use of assert to check a particular situation! (throws error)
q
cs
Tray
input
CyclicExpression Checker