Попробуйте это в интерпретаторе:
try:
fsock = open("/bla")
except IOError:
print "Caught"
print "continue"
Важно, что это пустая строка после отступа. Я использую интерпретатор python 2.6, и он выдает ту же синтаксическую ошибку, что и вы.
Это потому, что интерпретатор ожидает, что отдельные блоки будут разделены пустыми строками. Кроме того, пустая строка (два новых строчных символа) указывает конец блока и что интерпретатор должен выполнить его.
Страница Википедии на C++11 Ссылки на R-значения и конструкторы перемещения
Type &&
). std::move()
- это приведение, которое создает rvalue-ссылку на объект, чтобы можно было перемещаться от него. Это новый для C++ способ избежать копирования. Например, используя конструктор move, std::vector
мог бы просто скопировать свой внутренний указатель на данные в новый объект, оставив перемещаемый объект в некорректном состоянии, избегая копирования всех данных. Это было бы корректно с точки зрения C++.
Попробуйте погуглить на предмет семантики перемещения, rvalue, perfect forwarding.