- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 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;
}
Поэтому я за "svn". Там такой хуйни нет.
В svn так нельзя, и потому я против svn
Серьёзно, тайм-аут может быть из-за того, что скрипт долго ждёт ответа от базы.
Но всё-таки на VPS ограничения бывают. На OpenVZ ты не можешь загрузить свой драйвер ядра. На OpenVZ ты делишь I/O (обращения к диску) с другими пользователями, поэтому если будешь слишком интенсивно обращаться к файлам, тебя попросят умерить свой пыл. Но ресурсы процессора и оперативной памяти вроде разделяются нормально.
На KVM изоляция получше, чем на OpenVZ. Там можно и файлами хрустеть круглые сутки, и свои драйвера ядра ставить.
На FreeBSD jail изоляция хуже. Получше, конечно, чем на shared-хостинге, но много чего придётся делить.
Ядро там общее
>>jail
это вообще изоляция ресурсов, а ядро и ОС те же самые же, примерно как докер
не-а, не слышал
Это к вопросу о том зачем программисту уметь в прыщи
Хотя даже в этом случае можно замерить время выполнения запросов через phpmyadmin или посредством простенького скрипта.
у mysql говеный оптимизатор и говеный explain, но даже там можно что-то понять
make_tuple, так типы явно выписывать не надо. Впрочем, говорят, скоро можно будет писать просто tuple(c, a, b).
уже 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
Офигенная же тема для компараторов
P.S. Я за "OCaml"и, конечно, "Common Lisp"
Так нечестно, там a и b - это не те a и b... Там ведь в каждом let cвоя область видимости, правильно?
Вот в питоне можно
Ну a и b не модифицируются inplace, разумеется, просто локально переименовываются. Я бы сказал, что это фича. Каждый let видит предыдущее окружение в правых частях присваиваний.
Вот в хацкеле это бы круто зациклилось, там можно написать
let (a, b) = (b, a) in printf "a = %d, b = %d\n" a b
и долго наблюдать, как ничего не происходит.
или
или
?
http://govnokod.ru/25007#comment436442