- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
#include <iostream>
#include <tuple>
using namespace std;
int main() {
int a = 5, b = 6;
tie(a, b) = make_pair(b, a);
cout << a << " " << b << endl;
return 0;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
#include <iostream>
#include <tuple>
using namespace std;
int main() {
int a = 5, b = 6;
tie(a, b) = make_pair(b, a);
cout << a << " " << b << endl;
return 0;
}
https://ideone.com/9gzogv
guest8 21.10.2018 11:24 # −999
guest8 21.10.2018 11:26 # −999
guest8 21.10.2018 11:32 # −999
guest8 21.10.2018 11:35 # −999
guest8 21.10.2018 11:37 # −999
guest8 21.10.2018 11:40 # −999
guest8 21.10.2018 11:43 # −999
guest8 21.10.2018 11:45 # −999
guest8 21.10.2018 11:47 # −999
bormand 21.10.2018 12:17 # 0
OBEH 21.10.2018 13:08 # 0
guest8 21.10.2018 13:59 # −999
guest8 21.10.2018 14:42 # −999
guest8 21.10.2018 14:56 # −999
guest8 21.10.2018 14:57 # −999
bormand 21.10.2018 14:59 # +1
Поэтому я за "svn". Там такой хуйни нет.
guest8 21.10.2018 15:04 # −999
roman-kashitsyn 21.10.2018 15:42 # 0
guest8 26.10.2018 16:40 # −999
guest8 21.10.2018 15:05 # −999
OBEH 21.10.2018 15:09 # 0
guest8 21.10.2018 15:39 # −999
guest8 21.10.2018 15:55 # −999
guest8 21.10.2018 15:36 # −999
guest8 21.10.2018 15:44 # −999
guest8 21.10.2018 16:13 # −999
OBEH 21.10.2018 16:16 # 0
guest8 21.10.2018 16:18 # −999
OBEH 21.10.2018 16:23 # 0
guest8 21.10.2018 17:07 # −999
bormand 21.10.2018 16:36 # −1
OBEH 21.10.2018 16:54 # 0
guest8 21.10.2018 17:44 # −999
OBEH 21.10.2018 17:51 # +1
guest8 21.10.2018 17:59 # −999
guest8 21.10.2018 18:36 # −999
guest8 21.10.2018 19:15 # −999
guest8 21.10.2018 18:19 # −999
OBEH 21.10.2018 18:50 # 0
guest8 21.10.2018 18:18 # −999
OBEH 21.10.2018 18:51 # 0
guest8 21.10.2018 19:16 # −999
guest8 26.10.2018 15:58 # −999
guest8 21.10.2018 16:16 # −999
guest8 21.10.2018 17:08 # −999
guest8 21.10.2018 17:33 # −999
guest8 26.10.2018 15:56 # −999
guest8 26.10.2018 16:06 # −999
guest8 26.10.2018 16:08 # −999
666_N33D135 21.10.2018 11:32 # 0
guest8 21.10.2018 14:24 # −999
666_N33D135 21.10.2018 15:09 # +1
roman-kashitsyn 21.10.2018 15:51 # 0
make_tuple, так типы явно выписывать не надо. Впрочем, говорят, скоро можно будет писать просто tuple(c, a, b).
Elvenfighter 21.10.2018 17:34 # 0
уже https://en.cppreference.com/w/cpp/utility/tuple/deduction_guides
Потому что
https://en.cppreference.com/w/cpp/language/class_template_argument_deduction#User-defined_deduction_guides
roman-kashitsyn 21.10.2018 15:56 # 0
Офигенная же тема для компараторов
P.S. Я за "OCaml" и, конечно, "Common Lisp"
Elvenfighter 21.10.2018 19:01 # −1
OBEH 21.10.2018 19:16 # 0
Elvenfighter 22.10.2018 01:04 # −1
guest8 22.10.2018 01:25 # −999
Steve_Brown 22.10.2018 10:02 # +1
Так нечестно, там a и b - это не те a и b... Там ведь в каждом let cвоя область видимости, правильно?
Вот в питоне можно
CJlEW 22.10.2018 20:50 # +1
roman-kashitsyn 22.10.2018 21:08 # 0
Ну a и b не модифицируются inplace, разумеется, просто локально переименовываются. Я бы сказал, что это фича. Каждый let видит предыдущее окружение в правых частях присваиваний.
Вот в хацкеле это бы круто зациклилось, там можно написать
let (a, b) = (b, a) in printf "a = %d, b = %d\n" a b
и долго наблюдать, как ничего не происходит.
Steve_Brown 26.10.2018 13:43 # 0
или
или
?
Elvenfighter 27.10.2018 20:41 # 0
http://govnokod.ru/25007#comment436442