altebute.hatenablog.com

犬も歩けば規格にあたる

2015-11-01から1ヶ月間の記事一覧

cv修飾された仮引数はUniversal Referenceになれない

C++

以下のコードは合法である。 #include <type_traits> #include <iostream> #include <boost/type_index.hpp> using namespace std; using boost::typeindex::type_id_with_cvr; template< typename Arg > void f( Arg&& arg ) { cout << "`Arg` is `" << type_id_with_cvr< Arg >() << "`" << endl; cout <</boost/type_index.hpp></iostream></type_traits>…

参照型に対するcv修飾子はill-formedまたは無視される

C++

const int& は const int への参照であるため、well-formedであるが、 int& const はint&に対するcv修飾であるためill-formedである。 ただし、cv修飾される型名が typedef-name または decltype-specifier の場合、cv修飾子は無視される。 また、同時に ref…