c++の memcpy の実装についてです
c++
1void * memcpy( void * dest, void const * src, std::size_t n ) 2{ 3 // destをstd::byte *型に変換 4 auto d = static_cast<std::byte *>(dest) ; 5 // srcをstd::byte const *型に変換する 6 auto s = static_cast<std::byte const *>(src) ; 7 8 // srcからnバイトコピーするのでnバイト先のアドレスを得る 9 auto last = s + n ; 10 11 // nバイトコピーする 12 while ( s != last ) 13 { 14 *d = *s ; 15 ++d ; 16 ++s ; 17 } 18 19 // destを返す 20 return dest ; 21}
1: destはアドレスの値の数値で4バイト(自分の環境だと)だがstd::byte *型は1バイトなので型変換したらどうなるのでしょうか?
2: d,sはアドレスを表していると思うのですが*d,*sは何を表しているのでしょうか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。