- 1 名前:デフォルトの名無しさん [2022/02/19(土) 11:56:42.14 ID:kSnJ/KwP.net]
- 前スレ
C++相談室 part158 https://mevius.5ch.net/test/read.cgi/tech/1636969758/
- 175 名前:はちみつ餃子 mailto:sage [2022/02/24(木) 16:42:22.24 ID:KIw+63Ii.net]
- 「動的に確保」というのも、コンストラクトの時点で大きさが確定するというのと
後から伸長する可能性も含むというのでは事情が違う。
- 176 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 17:02:25.64 ID:ZFLA2QwP.net]
- >>173
VLAのように実行時に全体の大きさを指定したいです
- 177 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 17:05:32.25 ID:M4s9COHd.net]
- mallocや
- 178 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 17:34:08.45 ID:cGpWV2sd.net]
- 小出しにしてんじゃねーよw
質問者のお前が聞かれたことに答えるんじゃなくて、せめて満たすべき最低限の要件くらい自分で明確にしろと言ってるんだよw そんなこともできなければ真でくれと言われてるのw
- 179 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 17:38:54.01 ID:MBzpszCI.net]
- >>174
ということは最初の割り付けでサイズが確定していて 途中でresizeはできなくていいんだな?
- 180 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 17:40:07.73 ID:MBzpszCI.net]
- あるいは、CのVLAをC++で操作できるようにしたいのか?
- 181 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 18:26:58.76 ID:qnUKy4cC.net]
- 初心者ですまんがVLAってvectorで代用できないの?
- 182 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 18:34:10.20 ID:xAP0ZjRZ.net]
- つvalarray
- 183 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 19:04:00.53 ID:7WoYZRJz.net]
- 3次元配列なら
template<class T> class V{ T*const ptr; size_t s1,s2,s3; public: V(size_t s1,size_t s2,size_t s3): s1(s1),s2(s2),s3(s3), ptr(new T[s1*s2*s3]){} T&operator()(size_t i1,size_t i2,size_t i3){ return ptr[i1*s2*s3+i2*s3*i3]; } ~V(){delete[]ptr;} }; V<int> v(4,5,6); v(1,2,3)=42; みたいのでええんか? 大体こういうの自分で作るとバグらせるからあんまやりたくないけど
- 184 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 19:07:44.67 ID:cGpWV2sd.net]
- すでにバグってる気がする
- 185 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 20:00:57.06 ID:1pzXIXf6.net]
- boostにあるけどオーバーエンジニアリングっぽいんだよな
- 186 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 20:30:12.93 ID:cGpWV2sd.net]
- 馬鹿にされたい馬鹿が小出しにしてる以上何とも言えないw
僕ちゃんboost使いたかったけど馬鹿だからよく分からないし、条件小出しなまま複数IDで汎用な答えが欲しいのぉって言ってるだけなのが透けて見えるw
- 187 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 20:38:21.09 ID:I6df84hq.net]
- 何の情報が必要かすら分かってない初心者かもしれないんだから聞き出してやればいいのに
煽って出てくると思ってるなら考え甘いぞ、要件引き出せないようじゃ半人前
- 188 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 20:59:04.53 ID:cGpWV2sd.net]
- ちゃんとID変えて出てきてるし煽ってないし、僕ちゃん答えは欲しいのに分不相応なプライドだけ高くて素直になれないのぉって言われてもね
- 189 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 21:02:22.10 ID:j0njw0Fu.net]
- 一方すぐ質問者にマウンティングしたがるおまえはすぐわかるなw
- 190 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 21:03:10.18 ID:MBzpszCI.net]
- > ID:cGpWV2sd
おまえイラネ 無駄にうるせえ
- 191 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 21:29:39.55 ID:cGpWV2sd.net]
- こんなスレにいちいち相談する初心者なんてそうそういねーよ
もし初心者なら回答欲しいんだから何言われても何某か返事する そういうのがなく単発IDなどが煽ってくるということはつまり・・・図星ってことw
- 192 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 21:36:30.68 ID:j0njw0Fu.net]
- ここ覗いてるのって技術系の雑談ネタとしか思ってないだろうが、
毎回、単発IDで質問して逃げてるとしたらクソ野郎だな。 学生の課題か何かだろう。おれたちは利用されてるんだ!!!
- 193 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 21:50:54.34 ID:p3uXF2gK.net]
- 利用されるのが嫌ってこと?よくわからんが。
まぁ、学校の課題でズルしても本人のためにはならないんだから勝手にしとけって感じだな。
- 194 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 21:59:42.81 ID:cGpWV2sd.net]
- >>190 >>191
そう、お前のことだよ質問者兼回答者君 ただ学生じゃなくて社会不適合者だと思うし、毎日アホな質問しちゃぁ俺に馬鹿にされてるのに飽きないね
- 195 名前:デフォルトの名無しさん mailto:sage [2022/02/24(木) 23:03:53.08 ID:I6df84hq.net]
- 妄想えっぐ、糖質っぽいな
- 196 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 00:16:50.60 ID:5F5cVQmS.net]
- 在日君なんだろうな
- 197 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 01:06:42.45 ID:xX3MCg4u.net]
- >>192
おれみたいなじーさんがおまえのような小便垂れの小僧に質問するわけないだろ…
- 198 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 11:25:19.29 ID:xlKD2LUb.net]
- なんで const なオブジェクトは const なメンバ関数しか呼べないの?
- 199 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 11:29:01.84 ID:uD2ZWt4n.net]
- メンバ関数でメンバ変数が書き変わるとconstオブジェクトとして困るから
- 200 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 11:29:09.22 ID:KX/JNmq+.net]
- 中
- 201 名前:が書き換わるかもしれないから []
- [ここ壊れてます]
- 202 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 11:59:24.66 ID:169sj97j.net]
- でもポインタで簡単に書き換えられるじゃん
- 203 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 12:14:57.98 ID:mK/IikxE.net]
- 意図的にconst外さなきゃconstのままだよ
何も考えずconst外すバカのことなんて知らん
- 204 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 18:43:59.10 ID:xX3MCg4u.net]
- constが役にたった場面にあったことがない。
自分で書き換えといて「書き換わるかもしれない!!」とかどんだけ適当にコード書いてんだか。
- 205 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 19:05:22.20 ID:kxjR7eze.net]
- constは積極的に使うことでI/Fを分かりやすくしたりできるね
書き換えない想定を明示的にして最適化しやすくする効果もある 意味的に正しいことが保証できないときにconstを使うと泣くこともあるけどw
- 206 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 19:11:03.22 ID:xX3MCg4u.net]
- >>202
const使ったらコンパイラはどういった最適化するんだ?
- 207 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 19:12:37.70 ID:pF12AA3R.net]
- constとprivateはテストの邪魔でしかない
使ってる奴は例外なく低脳
- 208 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 19:27:49.01 ID:RMWkUPMB.net]
- privateはインテリセンスがすっきりしていいじゃん
- 209 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 19:38:04.25 ID:kxjR7eze.net]
- >>203
実際にやってみろ >>204 サンプル説明以外で可視性やconst使ってない馬鹿はエアプ
- 210 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 19:43:16.35 ID:xX3MCg4u.net]
- 自分で言い出しといて急にキレられてもな。
- 211 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 19:48:21.44 ID:kxjR7eze.net]
- >>207
キレる?お前が調べもせずに聞いてくるから当たり前のことを言っただけだが
- 212 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 19:52:14.27 ID:pF12AA3R.net]
- >>206
エアプは君だよ 製品レベルの緻密なテストセットをきちんと書き上げるためにはconstなしのオールpublicしかあり得ん テストケースで様々な状態を作りだして動作確認するためには、全てを必要に応じて自由に書き換えられることが不可欠というもの 書き換え不可だのクラス専用だのの決め事は命名規則で担保するんだぞ
- 213 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 19:58:35.87 ID:46L8HXzx.net]
- IFのシグネチャにconstついてないといちいち仕様書読まなきゃいけないから面倒くね?
char* token(char* str)とかあったら破壊的かどうか判別できん
- 214 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 20:00:20.50 ID:gDL/lDyA.net]
- >>209
struct最強伝説キタコレ
- 215 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 20:04:09.41 ID:Ttq2k6xT.net]
- >>211
staticおじさんの生まれ変わりだろw
- 216 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 20:04:09.42 ID:kxjR7eze.net]
- >>209
https://github.com/trending/c++ この辺のプロジェクトのソースでもいいし、chromiumのソースでもいいし、見てみたら? 製品レベルのコード見せてみろよ
- 217 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 20:07:48.92 ID:xX3MCg4u.net]
- const使ったらどんな最適化するんだろう? 言った本人はキレて答えてくれないし。
- 218 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 20:12:00.77 ID:kxjR7eze.net]
- >>214
お前が1+1=って言ったら俺はお前のためにわざわざ2と言う必要があんのか? 自分で調べたことの事実を示せw
- 219 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 20:14:10.16 ID:aDhOSI3t.net]
- Rustは何も指定しないとimmutable(不変)にしちゃったから、そういう点でもわかりやすく、かつ、テストやデバッグも少数のmutableなものだけ対象にすればよくなってるね
- 220 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 20:15:39.58 ID:xX3MCg4u.net]
- >>215
全く必要ない。 キミは自分で言い出しといて逃げる人とよく分かったから他の人に質問してるだけ。 キミはスルーしてくれていいよ。
- 221 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 20:16:05.93 ID:kxjR7eze.net]
- >>216
Rustは無関係なので巣に帰れ
- 222 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 20:32:18.12 ID:6k09Uwld.net]
- constを使うのがいいことがよく分かった
- 223 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 20:39:24.80 ID:xX3MCg4u.net]
- constウイルスと言わざ
- 224 名前:るをえないアホ仕様 []
- [ここ壊れてます]
- 225 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 20:57:38.37 ID:QBj91W6D.net]
- だからさ、釣り針が太すぎるんだよな
- 226 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 21:25:13.93 ID:4EL5U7Bc.net]
- constついてないコードは九分九厘ごみ
絶対に自分一人で書き上げて絶対に一生涯外に出さない保証があるなら付けなくても良い
- 227 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 21:34:50.33 ID:6k09Uwld.net]
- 本に載るほどの支持を覆すほどの権威と実例があるわけもなく
- 228 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 22:44:59.40 ID:RMWkUPMB.net]
- メンバ関数のconst修飾とか関数の引数のconstとかはわかるけど関数内部のローカル変数にconst付けるのはよくわからんな
- 229 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 22:51:54.69 ID:a/ksSb5+.net]
- const お会いしたらお茶しませんか?
- 230 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 23:04:47.69 ID:aDhOSI3t.net]
- >>224
コードが読みやすくなるし間違って書き換わることもないから どの言語でもconstやそれ相当で宣言するのが最近は一般的 JavaScriptですらconstにするのが常識となった
- 231 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 23:07:46.96 ID:vOr560R7.net]
- ここ数年constをつけて再代入しないのが当然になってますってjavascriptの専門家に言われて殴りたくなりました
- 232 名前:デフォルトの名無しさん mailto:sage [2022/02/25(金) 23:13:07.22 ID:aDhOSI3t.net]
- JavaScript程度はブラウザのカスタマイズしたり含めて誰でも使える言語だろ
まさかC++しか使えない新人かね
- 233 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 00:15:34.77 ID:VmHIkvc0.net]
- Pythonにはconstもprivateもない
大文字だけの名前はconst、アンダースコア始まりの名前はprivateという規約があるだけ でもそれでみんな勝手に書き換えるべきでないと了解されてて完全に成立してる とはいえ言語機能ではないのでテストとかでの必要に応じて規約を無視して値を変えることもできる こういう実例を見るとわざわざコンパイラ機能として書き換え禁を強要してるconstやprivateは偏執的過ぎると思う
- 234 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 00:23:17.69 ID:xDf2Ellb.net]
- 小さいオブジェクトにconst付けるとアドレスが割り振られて最適化が阻害されるみたいな話は聞いたな
- 235 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 01:13:30.79 ID:fRC8OZTs.net]
- 日付が変わってまた湧いてるw
>>229 pythonみたいなゆるゆる言語と比較してconst/privateがないとかw >>230 その話URLで示してw
- 236 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 01:14:41.41 ID:TNmFLFGs.net]
- ここまでconstつけると最適化されるという例はなし。
- 237 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 01:39:20.96 ID:fRC8OZTs.net]
- ここまで何を調べたかの記述なしw
- 238 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 04:01:53.50 ID:L9ZaKHY5.net]
- move、右辺値参照、各種オペレータなどフルセットで対応するライブラリ的なクラスならconst対応した方が良いけど、
末端のアプリケーションにまで全部律儀にconst付けるのは面倒くさいだけだわな
- 239 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 04:13:27.79 ID:fRC8OZTs.net]
- そんなしょうもないものならわざわざC++で組むなよw 発想がアホの極みw
- 240 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 06:30:02.19 ID:BX4iLvdt.net]
- Rustなどは無指定デフォルト時がC++でのconst状態になってるよな
楽でいいよな
- 241 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 07:05:16.24 ID:fRC8OZTs.net]
- >>236
Rustの話はRustスレで
- 242 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 08:03:06.09 ID:w5NWCXyu.net]
- 話題に沿ってるんだし少しくらいなら良いと思うけどね。アレルギーかよ
- 243 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 08:11:23.88 ID:fRC8OZTs.net]
- Goスレ見てると対岸の火事とは思えないw
Rustスレは静かなのに、そこで議論できない馬鹿がずっと他言語スレでRustのヘイトを稼いでるからなw Rustくらいみんな知ってると言うのにw ってわけで、特に今は各言語固有スレではその言語の話だけってことw
- 244 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 10:47:22.97 ID:w5NWCXyu.net]
- 他所のスレのことは知らんけどこれをヘイト稼ぎと受け取るのは捻くれな気がするけどね
Rustのことも自分が知ってるからってみんな知ってるとかイキるのも良くない 知らない人だって当然いるだろうに
- 245 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 11:00:37.71 ID:fRC8OZTs.net]
- ヘイト稼ぎと解釈しない方が捻くれてるだろw
今どきC++やっててRust(やそれ以外の言語)知らん方がレアだし、その程度のやつは何を言われても仕方ない
- 246 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 11:24:01.42 ID:Cjy1TnYX.net]
- その程度とか言い出した
パソコンの大先生かな?w
- 247 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 11:56:13.77 ID:w5NWCXyu.net]
- 誰でも最初は初心者なんだけどね
ここオンラインの匿名掲示板なの忘れてない? 勝手に自分基準のレベルを周りに押し付けられてもね そういうのは自分の納得できる閉じたコミュニティでやればいいと思う
- 248 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 13:03:43.12 ID:d8NXRVNx.net]
- いや、悪いけど>>241はレベル低いと思うよ・・・w
- 249 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 13:14:24.08 ID:qsPBexON.net]
- 自動販売機のタバコじゃないんだけどね
もっと高級なのね
- 250 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 15:44:44.33 ID:xDf2Ellb.net]
- Rustってまだ言語マニアくらいしか使ってなくね
そもそも案件が少なすぎるしRsutでしか提供されていないライブラリやフレームワークやSDKなんて聞いたことないし 俺が知らないだけで実はコッソリ出現してるのか???
- 251 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 22:06:22.23 ID:aW9KNPN/.net]
- 実際こうやってアレルギー反応(スレが荒れる)起こすからよその話はよそでやれってことだな
- 252 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 22:11:54.75 ID:fRC8OZTs.net]
- 荒れてねーよw
- 253 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 22:19:40.75 ID:4mZJSMD8.net]
- >>246
色んな分野でRustがC++の立ち位置を侵食していってるよ 例えばブラウザ内だけでなく今は色んな所で使われるようになったWebAssembly(WASM) WASMでプログラミングするための記述言語は当初C++が先行していたけど今はRustが逆転してトップになっているね
- 254 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 22:27:10.15 ID:I1qWxMaG.net]
- constさいこー
固定文字列リテラルとか const char* const s = "Hello World!\n"; やし 関数の仮引数は関数内で絶対変えないことにして void foo(const char* const p); // 宣言 void foo(const char* const p_) { // 定義 const char* p = p_; // 関数内で値を変える場合 } と書いてしまうま
- 255 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 22:27:29.83 ID:I1qWxMaG.net]
- だいたい
https://mevius.5ch.net/test/read.cgi/tech/1524746903/652 https://mevius.5ch.net/test/read.cgi/tech/1524746903/659 と質問したら https://mevius.5ch.net/test/read.cgi/tech/1524746903/661 やそうやし\(^o^)/
- 256 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 22:46:27.37 ID:I1qWxMaG.net]
- テストのときにprivateメンバを弄りたいケースは確かにあって
そういう場合は次のどれかかが多いう気がする印象だが知らん ※個人の感想です 1. 長ったらしい接頭辞がついた名前のテスト用メソッドを設けてその中にテストコードを書く リリースコードでもそのままだが呼ばれないからリンクはされない 2. 長ったらしい接頭辞がついた名前の構造体として実装して細かいテストしてclassでwrapしてリリース 3. 長ったらしい接頭辞がついた名前の普通の関数として書いて細かいテストしてそれをclassから呼ぶ
- 257 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 22:47:36.31 ID:fRC8OZTs.net]
- >>249-251 こういうのが荒れてる状態
- 258 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 22:48:11.64 ID:fRC8OZTs.net]
- >>252 これもな
- 259 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 23:14:01.86 ID:I1qWxMaG.net]
- だいたいインターフェースにもconstつけちゃう
class IFoo { int bar(const int x, const double y, const RECT z) const = 0; double baz(std::string& buf) const = 0; /*...*/ }; とか
- 260 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 23:14:57.75 ID:I1qWxMaG.net]
- virtuarl ~IFoo() { }
を忘れたorz (死
- 261 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 23:17:36.73 ID:TNmFLFGs.net]
- 値渡しをconstにして何がしたいん?
- 262 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 23:27:30.26 ID:w5NWCXyu.net]
- 固定ならconstexpr使おうや
- 263 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 23:36:20.44 ID:I1qWxMaG.net]
- >>257
文字通りconstにしたいのですヽ(`ー´)ノ 引数に再代入するのはガイジのやることなので(>>251 で関数定義でそうしたら、作業性のためにそれをコピペして極力弄らずにヘッダファイルにするから 宣言においても値渡しの引数にもconstが付くのでつ∀`;)
- 264 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 23:43:30.97 ID:w5NWCXyu.net]
- まあ非参照型でconstついてなかったらとりあえず
ひょっとして関数内で書き換えられるんかと疑ってかかるよね
- 265 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 23:44:54.89 ID:I1qWxMaG.net]
- >>232
IPAコーディング左方ガイド[C++言語編] (p.120) https://www.ipa.go.jp/files/000055043.pdf >M1.11.1 参照しかしない領域は、const 型であることを示 >す宣言を行う。 (中略) >参照するだけで変更しない変数を const 型で宣言することで、その変数を変更しないことを明 >示できる。また、処理系の最適化処理でオブジェクトサイズが小さくなる可能性もある。この >ため、参照しかしない変数は const 型にする。 やそうや;;; 具体的には知らん
- 266 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 23:45:14.56 ID:nPeFYJEF.net]
- 引数に再代入するかどうかは呼び出し側の与り知らぬところなんで
それを公開インターフェースに乗せるのはどうかなぁ。
- 267 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 23:45:57.76 ID:BX4iLvdt.net]
- Rustだと値渡しだけでなく参照渡しも無指定デフォルト時は書き換え不能だよな
書き換えが起こる関数へは指定して可変参照を渡す
- 268 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 23:48:32.78 ID:UUNvHcAJ.net]
- どこぞの馬の骨とも知れないIT後進国ジャップが言う事よりも天下のGoogle様のコーディング規約を真似るほうが無難だぞ
そしてGoogleのコーディング規約によると「可能な限りconst付けまくれ」との事 実際にGoogleが公開してるライブラリはCにしろC++にしろ関数の引数から大体const付いてる、ポインタは勿論constバーガーで
- 269 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 23:50:44.52 ID:I1qWxMaG.net]
- >>262
あずかり知らぬことならどうでもいいんじゃ…… コピペした後手作業でconstを消すとかアフォらしい漏れクラスの天才の単金は高いからな やっぱ作る方の作業性優先で、 記憶モードだがVC++のインテリセンスは値渡しのconstは除去して提示してくれるはず……
- 270 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 23:58:24.50 ID:nPeFYJEF.net]
- でもconst書く方の手間は惜しまないんだ
- 271 名前:デフォルトの名無しさん mailto:sage [2022/02/26(土) 23:58:37.20 ID:Cf/OFvAp.net]
- > 処理系の最適化処理でオブジェクトサイズが小さくなる可能性もある。
> int bar(const int x, これをどうやって小さくするんだ? そもそもconstの値渡しの話だよな。
- 272 名前:デフォルトの名無しさん mailto:sage [2022/02/27(日) 00:02:08.66 ID:/TAxLK2K.net]
- >>264
へぇ〜知らなかったわこれ 流石ゴーグル様やで
- 273 名前:デフォルトの名無しさん mailto:sage [2022/02/27(日) 00:02:10.22 ID:o7kRBzLD.net]
- 引数で明示的に書き換え禁止にしたいということはポインタ渡しか参照渡しだよな。
アドレスしか渡してないのに最適化でオブジェクトサイズが小さくなるというのはどういう意味だろう?
- 274 名前:デフォルトの名無しさん mailto:sage [2022/02/27(日) 00:05:12.18 ID:o7kRBzLD.net]
- > 「可能な限りconst付けまくれ」
自分で設計、コーディングができなくてオープンソースをパクる側の意見だろう。 あくまでパクりすぎて訴えられて負けるググルくんの意見。
- 275 名前:デフォルトの名無しさん mailto:sage [2022/02/27(日) 00:07:37.55 ID:KWP91+7v.net]
- char*ならアドレス渡すより実値渡す方がサイズ小さくて済むとかじゃない?知らんけどね
|

|