[過去ログ] C++相談室 part130 [無断転載禁止]©2ch.net (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
483(1): (ワッチョイ e3af-VSCS) 2017/06/15(木)02:16 ID:Kprt2KgZ0(1) AAS
vectorのテンプレートに当てるクラスにはデフォルトコンストラクが必須なんでしたっけ?
484(1): (ワッチョイ 274b-eVPi) 2017/06/15(木)02:57 ID:WlVNVHON0(1) AAS
いいえ
03まではコピーできること
11からは破棄できること
が最低限の要件
485: (ワンミングク MMaa-JSHy) 2017/06/15(木)05:30 ID:HQ6fr84VM(1) AAS
>>483
必要だよ
486(2): (アウアウカー Sa33-yC4D) 2017/06/15(木)09:11 ID:qU51R9EPa(1/2) AAS
使うメンバ関数に依るけどデフォルトコンストラクタが必要なものはなくね
必要な場面が思い付かんし
487(2): (ワントンキン MMaa-JSHy) 2017/06/15(木)10:49 ID:cMMWNP19M(1) AAS
std::vector<MyObject> v;
これMyObjectにデフォルトコンストラクタないとコンパイルできなくない?
488: (オッペケ Srab-H4RH) 2017/06/15(木)11:01 ID:aq+4THbXr(1/2) AAS
>>484
根拠は?
489: (アウアウカー Sa33-yC4D) 2017/06/15(木)11:19 ID:qU51R9EPa(2/2) AAS
>>487
コンパイルできるよ
外部リンク:ideone.com
490(1): (ワッチョイ 274b-eVPi) 2017/06/15(木)11:23 ID:L9OZrg3x0(1) AAS
>>487
その例のその時点ではvの要素数は0でMyObjectは一つも構築されない
そしてテンプレートの性質として要求されない部分の実体化はされないので
実際には呼ばれない部分のコードがコンパイルエラーにはなる問題にもあたらない
491(1): (スップ Sd7a-FPX1) 2017/06/15(木)11:50 ID:T9X0CufJd(1/2) AAS
その理屈だとデストラクタも不要になるが、実際はデストラクタは必要
492(1): (ワッチョイ 8baa-vAEL) 2017/06/15(木)12:01 ID:UVt8Gat10(1) AAS
>>491
そりゃvectorのデストラクタで要素のデストラクタが呼ばれる(テンプレートのインスタンス化が行われる)んだから
493(2): (スプッッ Sd3b-Ir2K) 2017/06/15(木)12:32 ID:TLt9F5bfd(1) AAS
>>486
resizeは?
494(1): (ワッチョイ 56e4-l3wW) 2017/06/15(木)12:35 ID:st+URCRI0(1) AAS
そのあたりのことはどっかに書いてあった
495: (ワントンキン MMaa-vAEL) 2017/06/15(木)12:42 ID:HosU7tvHM(1/2) AAS
>>493
こぴ
496(2): (ワントンキン MMaa-vAEL) 2017/06/15(木)12:43 ID:HosU7tvHM(2/2) AAS
>>493
コピーコンストラクタがあれば引数2つの方が使える
497: (スップ Sd7a-FPX1) 2017/06/15(木)12:53 ID:T9X0CufJd(2/2) AAS
>>492
中身は知ってるよ
>>490の理屈と合わないって言ってるだけで
498(1): (オッペケ Srab-H4RH) 2017/06/15(木)14:19 ID:aq+4THbXr(2/2) AAS
「使うメンバ関数に依るけどデフォルトコンストラクタが必要なものはなくね」
↓
「resizeは?」
↓
「コピーコンストラクタがあれば引数2つの方が使える」
これがイケヌマと言うやつか
499: (ワッチョイ bb11-yC+1) 2017/06/15(木)15:13 ID:0w39VBC10(1) AAS
333/+C/333
}[amo]*7*
%/$/@0000/*/"2BTOLA"~~
500: (ワッチョイ bb11-yC+1) 2017/06/16(金)08:33 ID:YhgtDNjG0(1) AAS
<<<C++>>>
}
000-0
001-EK,L,A%&*17&>>=<HUFMO#$BUZ,DOL%$,"LTAR"===7,2&$%\72<&\\7>3%,
002-"GYU","LA"
***"AGILA"***
GOJU-$+$%7.2!$^±%WOLR%,,,
501(2): (ワッチョイ 8baa-vAEL) 2017/06/16(金)09:54 ID:rTwb7eLL0(1) AAS
>>498
え?resizeするのにデフォルトコンストラクタ必要じゃないよね?
502: (スップ Sd7a-FPX1) 2017/06/16(金)10:48 ID:+l0M7jEud(1/3) AAS
なんで必要じゃないと思うんだか
503: (スップ Sd7a-FPX1) 2017/06/16(金)10:51 ID:+l0M7jEud(2/3) AAS
resizeとサイズ指定のコンストラクタ
この2個は必要
他に必要なのが有るかは知らない
504: (ササクッテロレ Spab-O+YK) 2017/06/16(金)13:52 ID:uEZP+i89p(1) AAS
ぜんぜんわからない
僕たちは雰囲気でvectorを使っている
505: (オッペケ Srab-H4RH) 2017/06/16(金)18:08 ID:h6HoRUoNr(1) AAS
>>496のような文脈を理解できず関係ないことを言い出す残念なオツムだと
>>501のようにさらにとんちんかんなことを言い出すのだろうきっと
506: (ワッチョイ 8b9a-FPX1) 2017/06/16(金)19:00 ID:exN5gWxV0(1/2) AAS
2chでみんなが文脈を読んで書いてると思うのもどうかと思う
>>496 は質問とか流れとか関係なく単に思った事を書いたんだろうなと思う
>>501 は思考力も行動力も無い可愛そうな人なんだろうなと思う
507: (ワッチョイ 8b9a-FPX1) 2017/06/16(金)19:06 ID:exN5gWxV0(2/2) AAS
おれも流れを無視して書いてみよう
自分でvectorを作ってみると躓くのが、メモリのアロケートや解放を伴わない、指定位置に対してのコンストラクタやデストラクタの呼び出し
ここは他の実装をカンニングしてしまった
他は特に難しいところはなく、ひたすらメンバー関数を作る作業
vectorはlistやmapに比べると作るのが簡単
508: (ワントンキン MMaa-vAEL) 2017/06/16(金)20:32 ID:1QoHt37uM(1) AAS
むしろ >>486 がresizeの要素数だけ指定したときにデフォルトコンストラクタが使われるということぐらい解ってて言ってるように見えるんだけどな。C++98まではオーバーロードですらない全く同じメンバーだったわけで。
文脈読んでないのはどっちなんだろうね。
509: (スップ Sd7a-FPX1) 2017/06/16(金)20:58 ID:+l0M7jEud(3/3) AAS
イミフ
解説よろしく
510: (オッペケ Srab-H4RH) 2017/06/16(金)23:20 ID:jqjhiiMFr(1) AAS
単に思ったことを書いてみたすごい例は>>494だな
読み返すと深いものがある
511: (ワッチョイ 96a6-H4RH) 2017/06/18(日)14:45 ID:pAWWq9QO0(1) AAS
エピス何とかさんって
エピステーメー 迷惑 でググると出てくる人?
512: (ワントンキン MMaa-JSHy) 2017/06/18(日)15:04 ID:maGnATACM(1) AAS
そう
513: (ブーイモ MMaf-4fPX) 2017/06/18(日)17:37 ID:qo9bGziFM(1) AAS
ぐぐって最初に出てきた記事を読んできたけど、どっちもどっちな感じだなあ。
ただ一つ言えるのは、エピスの記事はいつもcounterが題材でとてもつまらない。
514(2): (ワッチョイ aeaa-vAEL) 2017/06/19(月)02:44 ID:vY2cw8HX0(1) AAS
ぐぐって最初に出てきた記事を読んできたけど、どちらかというと記事の主の方が苦しい言い訳してる感じがするなぁ。
ただ一つ言えるのは、てらているでえぴすてーめーの解答見てると質問者の理解を手助けするような解答にはみえないから好きではない。
515(2): (ワッチョイ 96af-VSCS) 2017/06/19(月)04:56 ID:ClMyuu520(1/3) AAS
namespace A{
static int hoge;
}
class B
{
public:
static int fuga;
};
これらを複数のcppファイルでincludeした場合、
A::hogeはファイルスコープごとにできて
省2
516: (オッペケ Srab-H4RH) 2017/06/19(月)08:39 ID:S/voQGxrr(1/2) AAS
現規格ではfile scopeという言葉の定義が無いことに気付いた
517: (ワッチョイ ba9f-C7l9) 2017/06/19(月)08:46 ID:9+UYKLHD0(1/2) AAS
hogeの方はextern付けないと大量生成されるぞ
518: (ワッチョイ ba9f-C7l9) 2017/06/19(月)08:47 ID:9+UYKLHD0(2/2) AAS
あ、staticか…わざとやっているのか
519(2): (ワッチョイ 136f-98cR) 2017/06/19(月)10:43 ID:m1J/TEED0(1) AAS
>>515
合ってない
以上
520: (オッペケ Srab-H4RH) 2017/06/19(月)10:53 ID:S/voQGxrr(2/2) AAS
注意事項は有るとして、合っているかと言えば合っていると思ったのだがはて
521(1): (ワッチョイ 96af-VSCS) 2017/06/19(月)11:20 ID:ClMyuu520(2/3) AAS
>>519
namespace Aが付けばstaticはファイルに依存しないクラスのstaticメンバーみたいになるということですかね?
522(1): 片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sdda-adb9) 2017/06/19(月)11:40 ID:UZhaSadud(1) AAS
変数のアドレスを確認すればわかるじゃん。
523: (アウアウカー Sa33-yC4D) 2017/06/19(月)12:39 ID:Edn2ErbFa(1) AAS
>>521
そんなことない
あなたが>>515で言ってたのであってる
正確にはファイルスコープじゃなくて翻訳単位だが
524: (ワッチョイ 96af-VSCS) 2017/06/19(月)12:43 ID:ClMyuu520(3/3) AAS
ですよね
ありがとうございます
525: (オッペケ Srab-H4RH) 2017/06/19(月)16:50 ID:OcegvzUdr(1/2) AAS
>>522
ほれ
外部リンク:ideone.com
質問者がこういう確認をしてしまう可能性は考えなかったのかね?
526(1): (スッップ Sdda-FPX1) 2017/06/19(月)17:22 ID:0iIdkSRqd(1) AAS
さすがににそれはテスト方法が悪い
527: (オッペケ Srab-H4RH) 2017/06/19(月)19:46 ID:OcegvzUdr(2/2) AAS
>>526
undefined behaviorとno diagnostics requiredだらけの言語で「アドレス確認すればわかる」とだけ言うのはあまりに安易な助言ではないか、と言っているのであって
確認方法の良し悪しには興味が無い
528: (ワッチョイ 8b9a-FPX1) 2017/06/19(月)19:56 ID:QZxUhfYw0(1) AAS
お前が何に興味があるかなんてまったく興味がない
529(3): (アウアウカー Sa33-C4gc) 2017/06/19(月)21:31 ID:/bUZDhU4a(1) AAS
>>519
>>514に出てきたえぴすなんたらと同じで、仮に知識があったとしても建設的な議論ができずに場をかき混ぜるだけの迷惑な存在に思える。
530: (ブーイモ MM97-4fPX) 2017/06/20(火)23:15 ID:Mr4YEhWoM(1) AAS
>>514
そもそも苦しい言い訳すらできない事案はwebページに掲載してないだろうしなぁ
531: (ワッチョイ 1311-H4RH) 2017/06/21(水)12:51 ID:+NLKQqoi0(1) AAS
>>529
こんなとこで他人を中傷してるお前は
迷惑記事の書き手と同レベルだな
532(1): (ワッチョイ 7a15-yC+1) 2017/06/21(水)16:13 ID:w7AAKRwP0(1) AAS
>>529
質問に必要なのは回答であって議論じゃない。
議論が建設的であろうがなかろうが質問に対する反応としては不適当だ。
回答が不十分だっていうことならそれは質問者が対話を重ねていくべきことで、
やみくもに話題を広げていく行為はそれこそ場をかき乱すだけだよ。
質問を元にした話題で雑談したっていいと思うが、
質問に対しては質問の回答を返すのが合理的な姿勢で、
先回りしてまで手取り足取り教えてやるような板じゃなかろう。
ム板が殺伐してるのは普通のこと。
533: (オッペケ Srab-H4RH) 2017/06/21(水)23:22 ID:rrguzdDtr(1) AAS
>回答が不十分だっていうことならそれは質問者が対話を重ねていくべき
「建設的な議論」の認識に齟齬が見られたが
>>529と>>532の意見は概ね一致したようだ
めでたしめでたし
534(3): (ワッチョイ 9f3d-SU2+) 2017/06/22(木)18:59 ID:RmXtROOS0(1/4) AAS
templateのstaticメンバの初期化(実体化)についてわかる人、
教えてもらえないでしょうか。
次のようなクラス構成があります
template<typename T> class A {
public:
A() : foo(NULL) {}
...
void * foo;
};
template<typename T> class B {
省16
535(1): (オッペケ Sr0b-jRIn) 2017/06/22(木)19:26 ID:Pj60YbTlr(1/3) AAS
>template<> A<C> B<C>::bar;
本当に実体化をしようとしているのか、明示的な実体化が必要なのか疑問だ
template<…> X →テンプレート定義
template<…> X<Y> →テンプレート定義(部分特殊化)
template<> X<…> →フルの特殊化
template X<…> →明示的実体化
X<…> →使うことで暗黙の実体化
536: (ワッチョイ 9f3d-SU2+) 2017/06/22(木)19:46 ID:RmXtROOS0(2/4) AAS
>>535
レスありがとうございます。
実際のコードでは、AとBはそれぞれのヘッダファイルにすべて記述され、
Cのみcppでコード生成しています。1)及び2)はCのソース内に記述しています。
このため、スペシャライズは不要な筈ですが、B内で定義しているstatic変数は
Bのクラス内で使用しているため、実体化が必要です。
bar自体はコンストラクタがあるので、普通のstatic変数のように書けば
良いのではないかと思うのですが…。
何か勘違いしてるんですかね?
537: (ワッチョイ 9f3d-SU2+) 2017/06/22(木)20:07 ID:RmXtROOS0(3/4) AAS
>>534です、連投すいません。
どうやら解決したようです、デバッグしてみないと本当に解決しているか
どうかはわかりませんが(^^;
stackoverflowにヒントがありました。
外部リンク:stackoverflow.com
// needs a copy constructor!
template<> Type Class<Arguments>::member = Type();
コピーコンストラクタで無理やり実体を作るという…。
vc、llvm、gccでそれぞれ書き方が違うとは、やな世の中になったもんだw
538(1): (オッペケ Sr0b-jRIn) 2017/06/22(木)20:44 ID:Pj60YbTlr(2/3) AAS
特殊化の説明を読んでいるのがよくわからんが
G++で通るコードとやらを貼っとくか
外部リンク:ideone.com
539(1): (ワッチョイ 374b-ckEx) 2017/06/22(木)20:51 ID:6MphhRRE0(1) AAS
>>534
> 3) GCC 4.9では1)でコンパイルは通るが実体化されない。
実体化されないの意味がよくわからんが
B::barの定義がないからだろ
外部リンク:wandbox.org
540: (オッペケ Sr0b-jRIn) 2017/06/22(木)21:50 ID:Pj60YbTlr(3/3) AAS
>>534
>1) 以下のように書くとVC++では問題ない
>template<> A<C> B<C>::bar;
これはVisual C++が規格の14.7.3段落13を正しく実装していないためで
2)の書き方が正しい
541: (ワッチョイ 9f3d-SU2+) 2017/06/22(木)21:52 ID:RmXtROOS0(4/4) AAS
>>538さん, >>539さん
ありがとうございます。
なるほど、template<typename T>のままで初期化すればよかったんですね。
あ、でも、vc++2012でエラーが出ますね。
non-aggregates cannot be initialized with initializer list
vc++2015はプロジェクトを作ってないのでわかりません。
xcodeは、明日確かめてみます。
あ〜、templateは嫌いだorz
542(1): (ワッチョイ 7f91-yPlv) 2017/06/24(土)13:41 ID:u+Yuz9bZ0(1) AAS
配列に格納された行列同士の乗算がしたいんだけどさ
EigenのMapってこれ、コンパイル時に行列の行数・列数が決まってない時はどうやって利用するもんなの?
外部リンク[html]:eigen.tuxfamily.org
Vector型に変更したりしてたら遅くなっちゃうだろうし・・・・どうやるんだろ・・・・
543: (スッップ Sdbf-iOY8) 2017/06/24(土)16:50 ID:1xYcuW8pd(1) AAS
>>542
ろくに見ずに答えるけど、テンプレートパラメータを明示的に与えられないの?
544: (ブーイモ MMbf-Cfyt) 2017/06/24(土)17:52 ID:UzNhAedeM(1) AAS
サンプルみた感じ、Dynamicっていうキーワードがあるみたいだけど
545(3): (ワッチョイ 9f32-LvKX) 2017/06/25(日)14:15 ID:ogKde9930(1/2) AAS
union aaa{
uint8_t byte[ 5 ];
struct bit_t {
uint32_t b0 : 5;
uint32_t b1 : 5;
uint32_t b2 : 5;
uint32_t b3 : 5;
uint32_t b4 : 5;
uint32_t b5 : 5;
uint32_t b6 : 5;
省19
546(1): (ワッチョイ f796-Cfyt) 2017/06/25(日)15:01 ID:WDBvKZ4J0(1) AAS
byte境界でないと配置できない環境なんじゃないの?
547: (ワッチョイ 9f32-MYey) 2017/06/25(日)15:16 ID:vsjTFzMZ0(1) AAS
uint32_tに5ビットずつ詰めてるからだろ
548: (ワッチョイ 9f9f-Yx6S) 2017/06/25(日)15:37 ID:ogZvFgu/0(1/2) AAS
普通は単に unsigned b0:5: と書くべき
ビットフィールドに32tとか余計なモノ乗っけると解釈がおかしくなる
549: (ワッチョイ 9f9f-Yx6S) 2017/06/25(日)15:41 ID:ogZvFgu/0(2/2) AAS
あとは副作用でpackアラインが1になってないから無理矢理境界作ってコンパイラが揃えようとしているとか
550: (ワッチョイ bfe4-Nep8) 2017/06/25(日)15:51 ID:k9VtfbZw0(1) AAS
共用体の統一初期化記法のことはよくわからないけどちゃんとコンストラクタを書けば解決するのでは
外部リンク:wandbox.org
551(3): (ワッチョイ ffaa-4OJu) 2017/06/25(日)16:07 ID:Y80WzbX30(1) AAS
C++を、10年以上勉強してから、共用体を使え
そもそも、初心者が使い道を知らないだろ
552: (ワッチョイ 9fc3-NIhq) 2017/06/25(日)17:09 ID:/94nlHOp0(1) AAS
>>545
なぜ一致すると思うのかをまず説明すべきではないかね?
553: (ワッチョイ 1f91-ZLad) 2017/06/25(日)17:14 ID:CENP8UyG0(1) AAS
99: 1100011
35: _100011
何度かやってみると、合う時もあるな
554(1): (ワッチョイ 9f32-LvKX) 2017/06/25(日)19:00 ID:ogKde9930(2/2) AAS
uint32_tをuint64_tに変えたら一致するようになりました
ヒントになります?
555(1): (ワッチョイ 9faf-6L/r) 2017/06/25(日)19:15 ID:0WoCYScE0(1) AAS
VC++2015で調べたらaaa,bbbは8byteでbit_tのメンバーは
b0: 0ビット目
b1: 5ビット目
b2: 10ビット目
b3: 15ビット目
b4: 20ビット目
b5: 25ビット目
b6: 32ビット目
b7: 37ビット目
に配置されてた
省4
556: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 9f15-LvKX) 2017/06/25(日)23:08 ID:y0reYziw0(1) AAS
英語を読むのがだるいので JIS の仕様を見てみた。
まずは C99 (に相当する JISX3010:2003) の 6.7.2.1 にはこうある。
> 処理系は、ビットフィールドを保持するに十分な大きさの任意のアドレス付け可能な記憶域単位を割り付けてよい。
> 十分な領域が残っている場合、構造体内のビットフィールドの直後に続く別のビットフィールドは、同じ単位の隣接したビットに詰め込まなければならない。
> 十分な領域が残っていない場合、入り切らなかったビットフィールドを次の単位に入れるか、又は隣接した単位の境界をまたがせるかは、処理系定義とする。
> 単位内のビットフィールド割付けの順序 (上位から下位か又は下位から上位か) は、処理系定義とする。
この理屈にてらして >>555 を解釈すると、 VC++2015 での記憶域単位は 4 バイトで、ビットフィールドが単位に収まらなかった場合には次の単位に入れる
という選択を取っていることになる。
で、 C++03 (JISX3014:2003) ではどうかというと 9.6 にこうある。
> クラスオブジェクト内のビットフィールドの割り当て方は処理系定義とする。 ビットフィールドの境界調整は、処理系定義とする。 ビットフィールドは、何らかのアドレス取得可能な単位内に詰め込まれる。
省5
557: (オッペケ Sr0b-jRIn) 2017/06/25(日)23:47 ID:Tfx4tn9Gr(1) AAS
>常識的に考えれば (中略) ないだろうと思う
訳:ボクは非常識です
558: (スップ Sd3f-VrB2) 2017/06/26(月)00:18 ID:mZAJ/HXWd(1/4) AAS
トンチンカンな回答がほとんどで笑える
559(2): (ワッチョイ bfe4-Nep8) 2017/06/26(月)00:21 ID:yL9hwVgE0(1/2) AAS
正しい回答をお願いします
560: (スップ Sd3f-VrB2) 2017/06/26(月)00:29 ID:mZAJ/HXWd(2/4) AAS
byteの40bitとbの40bitが違う位置だから (ほとんどの環境で)
561: (スップ Sd3f-VrB2) 2017/06/26(月)00:32 ID:mZAJ/HXWd(3/4) AAS
8個のbがbyteをカバーしていない
562: (スップ Sd3f-VrB2) 2017/06/26(月)00:37 ID:mZAJ/HXWd(4/4) AAS
>>546 〜 >>551
回答するレベルじゃない
何も書かない方がマシ
563: (ワッチョイ bfe4-Nep8) 2017/06/26(月)01:00 ID:yL9hwVgE0(2/2) AAS
そもそも専門的な質問は2chで聞くべきじゃないし
信頼できる専門書を買うべき
564(1): (ワッチョイ ffaa-4OJu) 2017/06/26(月)01:09 ID:RgMKiEkv0(1/2) AAS
共用体などは、C++を、10年以上勉強してから使え。
そもそも、初心者が使い道を知らないだろ
そもそも、5バイトは、40ビットだけど、
ビットフィールドが何バイトの領域に確保されるかも知らないのに、使うな。
処理系依存の機能を使うな
MISRA-C でも使用禁止だし、素人が使う共用体なんて、
バグだらけで製品で使えない
どの本にも、共用体を使った例など、載っていないだろ
565: (ワッチョイ 9f89-RNzd) 2017/06/26(月)01:26 ID:YVNj3DlL0(1) AAS
>>564
質問者はただの学習目的かもしれんのに、
素人だとか製品では〜とか批判するのは的外れだろう
566: (ワッチョイ 374b-ckEx) 2017/06/26(月)01:34 ID:jY+d4s2A0(1) AAS
>>559
すでに言われてるがまとめると>>545の状況では先頭から
byteは連続する40bit
bit_tは使わない2bitをはさんだ42bit
を使用するのでbyte-bit_t間では
余分なbitの取得・必要なbitの欠落が起きて完全な情報のやりとりにならない
567: (ワッチョイ 9f9f-Yx6S) 2017/06/26(月)01:50 ID:/d8dR7Ut0(1) AAS
5bitづつだとどうしてもアドレス跨ぎが発生するからな
4bitづつなら収まるけど
568: (オッペケ Sr0b-jRIn) 2017/06/26(月)08:14 ID:g/kuRdPjr(1/2) AAS
>信頼できる専門書を買うべき
ここは信頼できる回答が示されていても日本語が読めない低能が不毛なレスを続ける所なのだが
その典型例が>>559ということに本人が気付くことは無いのであった
569: (オッペケ Sr0b-jRIn) 2017/06/26(月)20:30 ID:g/kuRdPjr(2/2) AAS
そう言えば規格的には>>545の使い方はNGなので
>>551が言っていることはあながち間違いでもない
570: (ワッチョイ 9f1b-ZNvc) 2017/06/26(月)20:36 ID:cFoP2i7u0(1) AAS
規格的には処理系定義なので処理系のマニュアル等で確認して使うならNGではないな
571: (ワッチョイ 179a-VrB2) 2017/06/26(月)20:43 ID:GM19K0OY0(1/2) AAS
>>551は質問の回答じゃないから
572(1): (ワッチョイ ffaa-4OJu) 2017/06/26(月)23:25 ID:RgMKiEkv0(2/2) AAS
共用体で、バイト配列とビットフィールドは、互換性がない型だから使えない。
最低でも、10年以上勉強していない者は、共用体でバグだらけになるから使うな
ビットフィールドのメモリ割付位置は、処理系依存だから、
他のOS・OSのビット数(32/64ビット)・他のコンパイラなどで使えない
また、コンパイラのバージョンアップで、再コンパイルするだけでも、
メモリ割付位置は変わるから、バグ有りで使えない
コンパイルエラーにならず、実行時エラーになるようなものは使えない
573: (ワッチョイ 179a-VrB2) 2017/06/26(月)23:35 ID:GM19K0OY0(2/2) AAS
なんかムキになってる
相変わらずズレてるね
574: (ワッチョイ 9faa-ZLad) 2017/06/26(月)23:55 ID:NfcBoQUW0(1) AAS
失敗を通じてしか成長できないのにね
575: (ワッチョイ bfea-WW2k) 2017/06/27(火)01:00 ID:NwZhdH240(1) AAS
10年以上勉強さん流石ですw
576: (ワッチョイ 179a-VrB2) 2017/06/27(火)08:01 ID:bJ//gE7J0(1/8) AAS
10年勉強して >>572 か
残念な人
577: (ワッチョイ d7d1-Rbtz) 2017/06/27(火)10:18 ID:XwCnx1+f0(1) AAS
for_eachを並列で高速化する場合
-D_GLIBCXX_PARALLEL
でopenmp使う場合と
#include <experimental/numeric>
の使う場合と
どっちが高速なの?
578(1): (ワッチョイ 17f3-PFpe) 2017/06/27(火)10:35 ID:TVfTial50(1) AAS
自分でも無意識のうちにやってたし、ネットのサンプルとかでもよくあるけど
厳密にはunsigned intのほうが相応しい場合でもintつかってるコードをよく見かけるが
いちいちintをunsigned intで宣言し直すのもあほらしいしマクロつかって
unsigned intを_u_intとかに置き換えて宣言するのもそこまでしなくてもいいんじゃないかとも思うし
そこらへんはテキトーでいいんっすかね・・・
579: (スッップ Sdbf-iOY8) 2017/06/27(火)10:51 ID:LPANs+0ed(1) AAS
std::size_t じゃなくて?
580(1): (ワッチョイ d76f-ADZD) 2017/06/27(火)11:30 ID:DL/1tDv80(1/2) AAS
負の値を取らないからって「厳密にはunsigned intのほうが相応しい」とは俺は考えないな
intで済むならintにする
581(1): (ワッチョイ f7ea-LvKX) 2017/06/27(火)12:25 ID:+aQQjqLh0(1) AAS
正の数しかとらない変数がまだ初期化されていないことを明示するために負の値(特に-1)を使うとか割とよくある。
582(2): (スッップ Sdbf-iOY8) 2017/06/27(火)14:22 ID:Gpx2Satod(1/2) AAS
>>580
・仕様として正の整数
・intの範囲で表せる
が成り立つならintにする?
自分ならstd::size_tを選ぶなあ
>>581
そんな需要があるとはちょっと不思議だ。クラスメンバ?
上下前次1-新書関写板覧索設栞歴
あと 420 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.056s