codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
// VC++2016 template <typename Range> void test(const Range& r) { auto begin = std::begin(r); auto end = std::end(r); } int main(void) { { std::string str = "abc"; test(str); // OK } { char str[] = "abc"; test(str); // OK } { char* str = "abc"; test(str); // コンパイルエラー } { char* str = "abc"; test(std::char_ptr_to_range(str)); // こういう関数は STL や BOOST に無いのか } { char* str = "abc"; test(std::string(str)); // ただし、配列コピーを伴う方法は避けたい } return 0; }
Private
[
?
]
Run code
Submit