前スレ
C++相談室 part156
https://mevius.5ch.net/test/read.cgi/tech/1621389313/
C++相談室 part157
レス数が1000を超えています。これ以上書き込みはできません。
2021/08/09(月) 10:57:31.60ID:JaaB5Egp
970デフォルトの名無しさん
2021/11/14(日) 10:52:13.79ID:G9ajtZXw >>951
文字列のバッファは、不足すると2倍、2倍、・・・で確保されていくので
確保される回数は、最終的な文字列のバイト数を N としたとき、大体、
log2(N) 回程度となり、バッファがコピーされるトータルのバイト数は、
b = a + a*2 + a*2^2 + a* 2^3 + ... + a* 2^k
k = log2(N) 程度
a = 文字列クラスの内部バッファの初期バイト数。
となり、大体で言えば、2N を越えない。
1 + 2 + 2^2 + 2^3 + ... + 2^k
は 2進数で考えれば、全てのビットが 1 に成っている整数で、
2^{k+1} = 2*2^k = 2*2^{log2(N)} = 2 * N
であることに注意する。
ただし、bの値は大体で書いたので、厳密には少し違うだろう。
文字列のバッファは、不足すると2倍、2倍、・・・で確保されていくので
確保される回数は、最終的な文字列のバイト数を N としたとき、大体、
log2(N) 回程度となり、バッファがコピーされるトータルのバイト数は、
b = a + a*2 + a*2^2 + a* 2^3 + ... + a* 2^k
k = log2(N) 程度
a = 文字列クラスの内部バッファの初期バイト数。
となり、大体で言えば、2N を越えない。
1 + 2 + 2^2 + 2^3 + ... + 2^k
は 2進数で考えれば、全てのビットが 1 に成っている整数で、
2^{k+1} = 2*2^k = 2*2^{log2(N)} = 2 * N
であることに注意する。
ただし、bの値は大体で書いたので、厳密には少し違うだろう。
971デフォルトの名無しさん
2021/11/14(日) 10:59:39.62ID:G9ajtZXw >>970
1 + 2 + 2^2 + 2^3 + ... + 2^k
= Σ_{i=0}^k 2^i
= (1 - 2^{k+1}) / (1 - 2)
= 2^{k+1} - 1
である。途中、等比数列の和の公式:
等比数列の和 = 初項 * ( 1 - 公比^項数) - ( 1 - 公比 )
を用いた。
1 + 2 + 2^2 + 2^3 + ... + 2^k
= Σ_{i=0}^k 2^i
= (1 - 2^{k+1}) / (1 - 2)
= 2^{k+1} - 1
である。途中、等比数列の和の公式:
等比数列の和 = 初項 * ( 1 - 公比^項数) - ( 1 - 公比 )
を用いた。
972デフォルトの名無しさん
2021/11/14(日) 11:04:20.53ID:G9ajtZXw973デフォルトの名無しさん
2021/11/14(日) 12:08:34.21ID:p964tW2k 俺は数年前業を煮やして自前のstringクラスを作ってしまった(´・ω・`)
・sjis/utf8/utf16/utf32対応で比較・代入などどの組み合わせでも問題なく動く
・どの文字コードでも同じハッシュ値を生成する
・char型がsjisなのかutf8なのかはdefineで決める
・テンプレートベースのformatを用意してprintfを置き換え
みたいな
・sjis/utf8/utf16/utf32対応で比較・代入などどの組み合わせでも問題なく動く
・どの文字コードでも同じハッシュ値を生成する
・char型がsjisなのかutf8なのかはdefineで決める
・テンプレートベースのformatを用意してprintfを置き換え
みたいな
974デフォルトの名無しさん
2021/11/14(日) 12:57:01.80ID:hL5WeBkj >>973
保持するときのエンコードは?
保持するときのエンコードは?
975デフォルトの名無しさん
2021/11/14(日) 12:58:38.01ID:p964tW2k >>974
文字コードの種類に1バイト用意して、後はそれぞれの文字コードで直接保存している
文字コードの種類に1バイト用意して、後はそれぞれの文字コードで直接保存している
976デフォルトの名無しさん
2021/11/14(日) 13:30:12.63ID:mwYTHPjW えー
コンストラクタで各種文字コードのバイト列を受け取れるようにして内部保持形式はUTF32でよくない?
コンストラクタで各種文字コードのバイト列を受け取れるようにして内部保持形式はUTF32でよくない?
977デフォルトの名無しさん
2021/11/14(日) 13:42:53.43ID:p964tW2k それだと大きめのテキストファイルを開いたときなどいちいち変換が入って遅くなりそうだから…といっても実際にはどっちが効率良いのかまでは比べてないけど
異なる文字コード同士比較する時なんかはコードポイント単位で読み出して結局utf32ベースで処理するしな…
異なる文字コード同士比較する時なんかはコードポイント単位で読み出して結局utf32ベースで処理するしな…
978デフォルトの名無しさん
2021/11/14(日) 13:44:30.36ID:E00roTgy >dstのサイズはsrcのサイズの2倍を越えない
しね
しね
979デフォルトの名無しさん
2021/11/14(日) 13:59:19.66ID:5aeLrxCA プログラマーは3種類しかいない
文字コードが分からない一般プログラマー
文字コードを理解したと勘違いしている地雷プログラマー
そして人類が文字コードを理解するのは不可能だと悟った上でなんとか事故が起こらないように心を砕く真の専門家だ
文字コードが分からない一般プログラマー
文字コードを理解したと勘違いしている地雷プログラマー
そして人類が文字コードを理解するのは不可能だと悟った上でなんとか事故が起こらないように心を砕く真の専門家だ
980デフォルトの名無しさん
2021/11/14(日) 14:17:19.40ID:p964tW2k >>976
あーあとは、これのstring_viewバージョンがあって、関数のパラメータをconst mystring_view& strみたいに受けると、どんな対応してる文字なら(リテラルや対応してるクラス含めて)なんでも参照として受け付けるから便利なんだよね
あーあとは、これのstring_viewバージョンがあって、関数のパラメータをconst mystring_view& strみたいに受けると、どんな対応してる文字なら(リテラルや対応してるクラス含めて)なんでも参照として受け付けるから便利なんだよね
981デフォルトの名無しさん
2021/11/14(日) 14:59:21.42ID:WpZMPVn+ それconst&いるんか?
982デフォルトの名無しさん
2021/11/14(日) 15:13:11.67ID:p964tW2k 実質的にはほとんどなにも変わらないと思うけど、無駄なコピーが減る場合もあるので付けておくに越したことはないと思う
983デフォルトの名無しさん
2021/11/14(日) 15:45:24.64ID:p964tW2k まぁ、でも参照もコストゼロってわけじゃないから、場合によっては遅くなることもあるか…
984デフォルトの名無しさん
2021/11/14(日) 16:54:05.80ID:tkHjD9h1 const って伝播するから嫌い
付けるのは反対ではないが
付けるのは反対ではないが
985デフォルトの名無しさん
2021/11/14(日) 17:26:15.73ID:CXUBNW9m 伝播ってどういうこと?
986はちみつ餃子 ◆8X2XSCHEME
2021/11/14(日) 17:38:21.62ID:A4GQ1/1N 参照で受け取るときには const を付けないと右辺値を受け取れないんだよ。
&& にしたら逆に右辺値しか受け取れないし、
テンプレートにするのも面倒くさいし、
const 参照で不都合がないならまずそれを選ぶのが常道になってる。
積極的にそうする必要はなくても手癖でやるよね。
&& にしたら逆に右辺値しか受け取れないし、
テンプレートにするのも面倒くさいし、
const 参照で不都合がないならまずそれを選ぶのが常道になってる。
積極的にそうする必要はなくても手癖でやるよね。
987はちみつ餃子 ◆8X2XSCHEME
2021/11/14(日) 17:44:17.95ID:A4GQ1/1N >>985
const 無しから const 付きの参照へは暗黙の型変換が許されるがその逆はない。
const 付きにしたらそれがずっと伝わっていくってことだ。
元のオブジェクトが const でないなら const_cast で const を剥がして書き換えるのは一応は有りなはずだが、
かなり行儀が悪いしな。
const 無しから const 付きの参照へは暗黙の型変換が許されるがその逆はない。
const 付きにしたらそれがずっと伝わっていくってことだ。
元のオブジェクトが const でないなら const_cast で const を剥がして書き換えるのは一応は有りなはずだが、
かなり行儀が悪いしな。
988デフォルトの名無しさん
2021/11/14(日) 17:59:13.06ID:CXUBNW9m スコープ限定のconstを欲するひとがいるとは思わんかった
989デフォルトの名無しさん
2021/11/14(日) 18:02:00.71ID:nLCz7RQY 責任ベースのconstは有り得るのでは?
privateが在るんだから。
privateが在るんだから。
990デフォルトの名無しさん
2021/11/14(日) 18:05:38.66ID:leu9kbhs というか伝播しなかったら困るのでは?
お行儀悪くconst_castしない前提なら
ある関数の引数がconstだったら、その関数が呼び出す関数もまたconstであるという保証は大切だろうし
お行儀悪くconst_castしない前提なら
ある関数の引数がconstだったら、その関数が呼び出す関数もまたconstであるという保証は大切だろうし
991デフォルトの名無しさん
2021/11/14(日) 18:45:07.42ID:nLCz7RQY もちろんそれは大切ですよ。
伝搬しなかったら意味ないし。
伝搬しなかったら意味ないし。
992ハノン ◆QZaw55cn4c
2021/11/14(日) 19:45:46.13ID:5CSGBVhH K&R2 にも const はありますが全然使わなかったなあ…volatile 同様キワモノだとおもっていました(爆)
993デフォルトの名無しさん
2021/11/14(日) 22:33:34.47ID:oUoND4t/ C++20からコルーチン入るけどコルーチンの返り値に関数内の変数の参照返すの問題になるかな?
hoge& test(){
hoge tmp;
for(int i=0;i<10;++i){
co_yield tmp;
}
}
//返り値は実際はgeneratorとかになるかもしれない
hoge& test(){
hoge tmp;
for(int i=0;i<10;++i){
co_yield tmp;
}
}
//返り値は実際はgeneratorとかになるかもしれない
994デフォルトの名無しさん
2021/11/14(日) 22:35:39.21ID:PetPaRNq yeild使えるようになるのか
995デフォルトの名無しさん
2021/11/15(月) 01:03:02.10ID:tPLK0GqY viewは値渡しが基本だよ
996デフォルトの名無しさん
2021/11/15(月) 06:05:50.61ID:Rt8JG1Np 何かのリミッタが外れた感じだね
無差別にぶち込むようになった
無差別にぶち込むようになった
997デフォルトの名無しさん
2021/11/15(月) 06:11:48.42ID:Rt8JG1Np 江添が逃げた理由も察しがつく
998デフォルトの名無しさん
2021/11/15(月) 15:55:33.66ID:Ux5WoKB6 更新してないよね
999デフォルトの名無しさん
2021/11/15(月) 16:41:30.12ID:i/3H6iLT hage
1000デフォルトの名無しさん
2021/11/15(月) 16:42:03.92ID:i/3H6iLT 10^3
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 98日 5時間 44分 33秒
新しいスレッドを立ててください。
life time: 98日 5時間 44分 33秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 【速報】東京・足立区のひき逃げ事故 警視庁が運転手とみられる人物確保 [Ailuropoda melanoleuca★]
- 【東京】乗用車が歩行者をはね11人ケガ、うち2人重体 現場に残されたセダンの運転手が衝突後に逃走…ひき逃げ事件として捜査 足立 [ぐれ★]
- スペイン、移民受け入れで成長 1人当たりGDP日本超え ★2 [蚤の市★]
- 尖閣周辺に中国船、10日連続 いずれも機関砲搭載 ★2 [蚤の市★]
- 整形アイドル轟ちゃん(32)「整形してるから老化早い」の声に7年前とのビフォアフ公開「若返ってる」「どんどん綺麗になる」と反響 [muffin★]
- 2025/11/24(月) 14:14:13.84 ID:gjXEDwyM0<> 】「低空飛行」NHK紅白を見舞ったK-POP多用、YOASOBI演出、旧ジャニーズ不在の三重苦 [尺アジ★] (1002) [芸スポ速報+] <br> 2:【日刊ゲンダイ】TOBE滝沢秀明社長に求められる説明責任 旧ジャニーズの領地をそっくり“頂き”は済まされない [尺アジ★] (31) [ニュース速報+] <br> 3:【共産党】小池書記局長、ジャニーズ性加害問題で政府批判「どうも人ごと的。きちんと関与して」 [尺アジ★] (555) [ニュース速報+] <br> 4:【ジャニーズ事務所会見】望月衣塑子記者の「テレ朝はきょうも中継していません!」に総ツッコミ 井ノ原快彦も「望月さん、しています」 [尺アジ★] (1002) [芸スポ速報+] <br> 5:【テレビ】浜田雅功「尺できた」で収録終了 ジャニーズのタレントを放置 [爆笑ゴリラ★] (135) [芸スポ速報+] <br> 6:民放「長時間の音楽特番やるよー!」ワイ「どれどれ」民放「ジャニーズ!秋元アイドル!K-POP!尺稼ぎVTR!」←これ (8) [ニュー速VIP] <br> <br> 空席…滲むド軍ファンの思い [尺アジ★] (779) [芸スポ速報+] <br> 2:大谷翔平シーズン当初の長尺バットやめてたんだな (3) [なんでも実況G] <br> 3:「大谷ファンの高齢者にとっては絶望的」WBCの“Netflix独占配信” ★3 [尺アジ★] (838) [芸スポ速報+] <br> 4:「大谷ファンの高齢者にとっては絶望的」WBCの“Netflix独占配信” ★2 [尺アジ★] (1002) [芸スポ速報+] <br> 5:「大谷ファンの高齢者にとっては絶望的 <>
- 【高市速報】足立区でテロ [931948549]
- 【高市悲報】日本人、足立区11人ひき逃げ犯の国籍で大荒れwwwwwwwwwwwwwwwwwwwwww [316257979]
- 🏡👧👩💥🚗👴💨プリウスミサイル発射ぁぁ!
- ぽこちんで出来た🏡
- すまないが…いちいち覚えてられないんだ
- 足立区の事故現場の写真を撮っただけのオッサン、炎上wwwwwwwwwwwwwwwwwwwwwwwwwwwwww🤳 [329329848]
