次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part137 (正しくはpart138)
http://mevius.5ch.net/test/read.cgi/tech/1535353320/
C++相談室 part139
https://mevius.5ch.net/test/read.cgi/tech/1538755188/
C++相談室 part140
https://mevius.5ch.net/test/read.cgi/tech/1547326582/
C++相談室 part141
https://mevius.5ch.net/test/read.cgi/tech/1550772463/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.103【環境依存OK】
https://mevius.5ch.net/test/read.cgi/tech/1530384293/
■長いソースを貼るときはここへ。■
http://codepad.org/
https://ideone.com/
[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)
----- テンプレ ここまで -----
-
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
探検
C++相談室 part142
■ このスレッドは過去ログ倉庫に格納されています
2019/04/01(月) 22:17:05.84ID:wmfpIKt/
357デフォルトの名無しさん
2019/04/21(日) 08:19:35.76ID:jJhiZdMc358デフォルトの名無しさん
2019/04/22(月) 23:55:58.01ID:uyfay/gq メンバアクセスにthis->つける?
359デフォルトの名無しさん
2019/04/23(火) 00:01:58.24ID:cW1os5L0 エディタの補完機能使いたいときにたまにそうやって補完して最後に消す。
が、たまに忘れる。
が、たまに忘れる。
360デフォルトの名無しさん
2019/04/23(火) 00:02:35.52ID:BSgCsXpz IDEの都合で付ける事が良くある
付けないと補完候補多すぎて
付けないと補完候補多すぎて
361デフォルトの名無しさん
2019/04/23(火) 00:09:08.10ID:JKfCESEZ ああなるほど
補完候補を絞るのには便利ですね
補完候補を絞るのには便利ですね
362デフォルトの名無しさん
2019/04/23(火) 18:16:01.64ID:Wx+D+gzo メンバであるという保証ができるので付ける
363デフォルトの名無しさん
2019/04/23(火) 19:39:28.32ID:cE0Yu4R7 メンバ名は頭にm_付けろみたいなクソルールよりずっといいと思うので付けるべき
364デフォルトの名無しさん
2019/04/23(火) 19:42:38.83ID:JKfCESEZ 仮引数と別の名前つけるのだるいからm_は別に良いと思う
365デフォルトの名無しさん
2019/04/23(火) 20:02:01.86ID:8XemHsTC メンバ変数に専用の色付けたらいいじゃん
366デフォルトの名無しさん
2019/04/23(火) 20:13:43.06ID:sktjqElV 引数そのままメンバに入れるなら引数に_つけてvar(_var)って初期化してるわ
>>366
それって var(var) でも問題ないんですよ…
それって var(var) でも問題ないんですよ…
368さまよえる蟻人間 ◆T6xkBnTXz7B0
2019/04/23(火) 21:18:06.78ID:DAl4rXky バーバー
369デフォルトの名無しさん
2019/04/23(火) 21:32:08.36ID:BSgCsXpz >>367
綴り間違えたら悲惨なことになった
綴り間違えたら悲惨なことになった
370デフォルトの名無しさん
2019/04/23(火) 21:34:08.78ID:3k1+3l7a ハンガリアン記法は、入力補完のないエディタ上での可読性を高めるのに役立ってるでしょ。今でも。
371デフォルトの名無しさん
2019/04/23(火) 21:35:06.30ID:8XemHsTC ゴミ使ってる奴のことなんか知らん
372デフォルトの名無しさん
2019/04/23(火) 21:36:10.37ID:BSgCsXpz あれ可読性落ちるだろ
373デフォルトの名無しさん
2019/04/23(火) 21:39:11.30ID:lLaZpSEH 定期的にunsignedとsigned混在させてハマるアホをみるとハンガリアン必要だと思うわ
374デフォルトの名無しさん
2019/04/23(火) 21:40:37.34ID:lAbUfbw7 C#で入力補完のないエディタがどうとかさすがにナンセンスでは
だってvisual studio使うじゃん
だってvisual studio使うじゃん
375デフォルトの名無しさん
2019/04/23(火) 21:41:16.53ID:ZkNEZW45 どっちでもいいわ。
大抵の場合そんなとこに気を使わんといかんコードになってることのが問題。
大抵の場合そんなとこに気を使わんといかんコードになってることのが問題。
376デフォルトの名無しさん
2019/04/23(火) 21:45:47.89ID:lLaZpSEH >>375
こういうやつがそのうちハマって丸1日つぶしたりするんだよなw
こういうやつがそのうちハマって丸1日つぶしたりするんだよなw
377デフォルトの名無しさん
2019/04/23(火) 21:51:11.17ID:8XemHsTC >>373
関係なくて草
関係なくて草
378デフォルトの名無しさん
2019/04/23(火) 21:55:03.06ID:lLaZpSEH 関係あることわかってなくて草
379デフォルトの名無しさん
2019/04/23(火) 21:55:54.04ID:8XemHsTC 黙ってろゴミw
380デフォルトの名無しさん
2019/04/23(火) 21:59:25.62ID:ZkNEZW45 >>376
だから人を嵌めるようなコード書くなつってんだよばか。
だから人を嵌めるようなコード書くなつってんだよばか。
381デフォルトの名無しさん
2019/04/23(火) 22:06:36.15ID:lLaZpSEH382デフォルトの名無しさん
2019/04/23(火) 22:53:19.60ID:ZkNEZW45 いつの間にかハンガリアンが言語仕様になってた。。
383デフォルトの名無しさん
2019/04/23(火) 23:10:13.77ID:lLaZpSEH ハンガリアンも防御的なプログラミングと考えたら悪くないよ
成り立ち調べてみな
でも基本型とポインタだけだな
クラスには無用だと思う
成り立ち調べてみな
でも基本型とポインタだけだな
クラスには無用だと思う
384デフォルトの名無しさん
2019/04/23(火) 23:27:23.37ID:8XemHsTC てめーらはまともなIDEかエディタ使ってねえのかよ
385デフォルトの名無しさん
2019/04/23(火) 23:37:57.35ID:JKfCESEZ むしろVSがないと何も書けない
386デフォルトの名無しさん
2019/04/23(火) 23:55:15.96ID:UPBQPhwq VSがあっても何も書けない。
387デフォルトの名無しさん
2019/04/23(火) 23:55:30.60ID:ZkNEZW45 c++みたいに型情報ありがデフォルトの言語でハンガリアンとか二重メンテもいいとこだわ。
388デフォルトの名無しさん
2019/04/24(水) 01:00:02.97ID:pnt3hUol 前方宣言したクラスをTにしたスマポメンバでコンパイル通るときと通らないときがあって調べてたら
デストラクタがインライン(暗黙)だと駄目だとわかった
しかもこの問題が起こるのはunique_ptrのときだけでshared_ptrはデストラクタの定義に関係なく通る
わけわからんぞ
教科書に書いておいてくれ
class ClassB;
class ClassA{
public:
ClassA();
private:
std::unique_ptr<ClassB> u; // NG
std::shared_ptr<ClassB> s; // OK
}
---
class ClassB;
class ClassA{
public:
ClassA();
~ClassA(); ←これでunique_ptrもOK
private:
std::unique_ptr<ClassB> u; // OK
std::shared_ptr<ClassB> s; // OK
}
デストラクタがインライン(暗黙)だと駄目だとわかった
しかもこの問題が起こるのはunique_ptrのときだけでshared_ptrはデストラクタの定義に関係なく通る
わけわからんぞ
教科書に書いておいてくれ
class ClassB;
class ClassA{
public:
ClassA();
private:
std::unique_ptr<ClassB> u; // NG
std::shared_ptr<ClassB> s; // OK
}
---
class ClassB;
class ClassA{
public:
ClassA();
~ClassA(); ←これでunique_ptrもOK
private:
std::unique_ptr<ClassB> u; // OK
std::shared_ptr<ClassB> s; // OK
}
389デフォルトの名無しさん
2019/04/24(水) 07:38:59.52ID:IdP8M60W >>388
unique_ptr<T>のデストラクタはインスタンス化するときにTが完全型であることを要求する(デストラクタで直接Tのデストラクタを呼ぶ)
unique_ptrを内包するクラスのデストラクタが暗黙だとクラス内でコンパイラによって実装されるけど、その場でunique_ptrのデストラクタを要求する
しかし、その翻訳単位内でTの定義が無ければコンパイルエラーとなる
unique_ptr<T>を内包するクラスのデストラクタがとりあえず宣言だけでもあると
実際の定義がある場所で同様の事が起こるので、その場所でTの定義が見つかればいい
その場合に定義を書かないと、コンパイラさんが適切な翻訳単位内に定義をおいてくれるみたい
shared_ptrは動的削除子のおかげでデストラクタが呼ばれるところで適切にデリータを定義し、デストラクタを呼ぶようになっているのでこの様な問題は起こらない
shared_ptr<T>のデストラクタ内ではTのデストラクタを直接呼び出すようなコードが無い
unique_ptr<T>のデストラクタはインスタンス化するときにTが完全型であることを要求する(デストラクタで直接Tのデストラクタを呼ぶ)
unique_ptrを内包するクラスのデストラクタが暗黙だとクラス内でコンパイラによって実装されるけど、その場でunique_ptrのデストラクタを要求する
しかし、その翻訳単位内でTの定義が無ければコンパイルエラーとなる
unique_ptr<T>を内包するクラスのデストラクタがとりあえず宣言だけでもあると
実際の定義がある場所で同様の事が起こるので、その場所でTの定義が見つかればいい
その場合に定義を書かないと、コンパイラさんが適切な翻訳単位内に定義をおいてくれるみたい
shared_ptrは動的削除子のおかげでデストラクタが呼ばれるところで適切にデリータを定義し、デストラクタを呼ぶようになっているのでこの様な問題は起こらない
shared_ptr<T>のデストラクタ内ではTのデストラクタを直接呼び出すようなコードが無い
390デフォルトの名無しさん
2019/04/24(水) 18:54:26.06ID:pnt3hUol >>389
解説ありがとう
解説ありがとう
391デフォルトの名無しさん
2019/04/26(金) 01:05:34.79ID:UW94aXeh うーんC++プライマー8500円かぁ。本家のプログラミング言語C++第4版はもっとするし
情報量からすると安いが本一冊にポンと出すにはお高い……日本語である程度網羅的な本となるとこの2冊くらいよね
情報量からすると安いが本一冊にポンと出すにはお高い……日本語である程度網羅的な本となるとこの2冊くらいよね
392デフォルトの名無しさん
2019/04/26(金) 19:40:01.51ID:aJMYFNVy set<double> って int のときと同様にちゃんとソートされるんですか?
393デフォルトの名無しさん
2019/04/26(金) 20:34:04.97ID:Fns+A8Ou NaNが無ければ大丈夫NaNじゃね
394デフォルトの名無しさん
2019/04/26(金) 20:34:22.70ID:Fns+A8Ou NaNが無ければ大丈夫NaNじゃね
395デフォルトの名無しさん
2019/04/26(金) 22:17:06.30ID:PbDaLlJb のちに永久保存される平成最後のスベり
396デフォルトの名無しさん
2019/04/26(金) 23:59:20.16ID:LBUDtqYL たしかにそうだな・・いよいよ平成最後なんだな
みなさん、>>393-394 みたいな事にならないよう、気をひきしめましょう
みなさん、>>393-394 みたいな事にならないよう、気をひきしめましょう
397デフォルトの名無しさん
2019/04/27(土) 00:20:06.56ID:nrL5Mhiq 平成最後っていう言い回し使われすぎて嫌いになってきた
398デフォルトの名無しさん
2019/04/27(土) 00:23:11.48ID:v7q7vgVx イテレータの参照を次に移すときってなんでitr++ではなく++itrなの?
399デフォルトの名無しさん
2019/04/27(土) 00:33:20.40ID:nrL5Mhiq ヤフーでぐぐれ
400デフォルトの名無しさん
2019/04/27(土) 01:04:24.73ID:oB7jkl++ 素直な実装だとitr++より++itrのほうが速いんじゃないかなあ、となんとなくみんなが思っているから
401デフォルトの名無しさん
2019/04/27(土) 01:07:57.61ID:v7q7vgVx 速度に差が出るのか
知らなかった
知らなかった
402デフォルトの名無しさん
2019/04/27(土) 01:35:51.19ID:KjSesqKI インクリメント後のイテレーターの値を返す処理の実装を考えると
先の場合はインクリメントしてそのまま渡せばいいけど
後の場合はインクリメント前の値を保存しといてそれを渡さないといけないので一手間かかるから
・・なんだけど諸々の最適化とか色んな条件とか考えたらそこまで差がでるかどうかはよくわからん
先の場合はインクリメントしてそのまま渡せばいいけど
後の場合はインクリメント前の値を保存しといてそれを渡さないといけないので一手間かかるから
・・なんだけど諸々の最適化とか色んな条件とか考えたらそこまで差がでるかどうかはよくわからん
403デフォルトの名無しさん
2019/04/27(土) 01:38:33.58ID:EJ6OYH9I it++だと、戻り値をコピーしてとっておいてから、ポインタなりを進めた後にreturnする必要があるが、
++itだと、ポインタを進めた後に参照を返すだけでするからな。
++itだと、ポインタを進めた後に参照を返すだけでするからな。
404デフォルトの名無しさん
2019/04/27(土) 01:39:08.58ID:EJ6OYH9I 被ったw
405デフォルトの名無しさん
2019/04/27(土) 11:13:20.29ID:qp4sR6Ay406デフォルトの名無しさん
2019/04/27(土) 11:46:20.51ID:Tan1PMrG >>402-405
cppcheck にかけたらちゃんと警告出るね。
cppcheck にかけたらちゃんと警告出るね。
407デフォルトの名無しさん
2019/04/27(土) 14:06:33.77ID:dwPa57iA どうせ戻り値捨てるんだったら++itを選んでおいて損はない
無駄にit++を使うのは時期尚早な最不適化って奴だ
無駄にit++を使うのは時期尚早な最不適化って奴だ
408デフォルトの名無しさん
2019/04/27(土) 19:31:57.61ID:Ht8C3PIL C++で書くんだから後置インクリメントの方がメインに決まってんじゃん
前置は異端だ
前置は異端だ
409デフォルトの名無しさん
2019/04/27(土) 19:37:22.12ID:nrL5Mhiq 殺せ
410デフォルトの名無しさん
2019/04/27(土) 20:12:28.01ID:uerCNQ9f ++C
411デフォルトの名無しさん
2019/04/27(土) 20:53:36.82ID:hHA0b+W+ C++でいいんだよ。
規格は一歩進むけど、使ってるやつはbetter Cばかりってな
規格は一歩進むけど、使ってるやつはbetter Cばかりってな
412デフォルトの名無しさん
2019/04/27(土) 20:55:05.03ID:nrL5Mhiq ++C++まだかよ
413デフォルトの名無しさん
2019/04/27(土) 22:37:09.45ID:Czz6ceI0 >>411
vectorとかstringとか使わんの?
vectorとかstringとか使わんの?
414デフォルトの名無しさん
2019/04/28(日) 03:35:47.43ID:c2OY2Ben CArrayとCStringだぞ
コピコンは定義されてないから自分で作るぞ
コピコンは定義されてないから自分で作るぞ
415デフォルトの名無しさん
2019/04/28(日) 11:01:20.49ID:DJV+PGkd CArrayは、<algorithm>ヘッダーで定義された信頼性の高いユーティリティ関数を使えないのがね・・・。
416デフォルトの名無しさん
2019/04/28(日) 13:46:52.13ID:nadmD8id >>413
この思考がbetter C
この思考がbetter C
417デフォルトの名無しさん
2019/04/28(日) 14:25:38.47ID:n1RanWws >>416
わけわからん
わけわからん
418デフォルトの名無しさん
2019/04/28(日) 14:29:28.69ID:c2OY2Ben 俺がBest Cだ
419はちみつ餃子 ◆8X2XSCHEME
2019/04/28(日) 14:56:12.05ID:mA4VukHK420デフォルトの名無しさん
2019/04/28(日) 15:37:56.41ID:UbqPSgHc inconsistent begin/end types in range-based ‘for’ statement
gcc(g++) 8.2で -std=c++17オプションでコンパイルで
範囲forでこのエラーが出るんだが
begin endの型不一致の制限緩和されいるはずだよな?
原因わかる方いますか?
gcc(g++) 8.2で -std=c++17オプションでコンパイルで
範囲forでこのエラーが出るんだが
begin endの型不一致の制限緩和されいるはずだよな?
原因わかる方いますか?
421デフォルトの名無しさん
2019/04/28(日) 15:49:39.60ID:4R543R/q >>415
GetData()とGetData()+GetSize()を渡せば、とりあえず動くんじゃね?
GetData()とGetData()+GetSize()を渡せば、とりあえず動くんじゃね?
422デフォルトの名無しさん
2019/04/28(日) 16:05:30.47ID:n1RanWws >>420 比較演算子定義されてないとか?
423デフォルトの名無しさん
2019/04/28(日) 16:22:25.11ID:UbqPSgHc >>422
int _n = 0;
auto __begin = _container.begin();
auto __end = _container.end();
for (; __begin != __end; ++__begin) {
_n = *__begin;
}
比較演算子はちゃんと定義してるし
上のコードは何故かコンパイル通る
だけど
for (const auto _n : _container) {
//hoge
}
は何故か通らない
int _n = 0;
auto __begin = _container.begin();
auto __end = _container.end();
for (; __begin != __end; ++__begin) {
_n = *__begin;
}
比較演算子はちゃんと定義してるし
上のコードは何故かコンパイル通る
だけど
for (const auto _n : _container) {
//hoge
}
は何故か通らない
424デフォルトの名無しさん
2019/04/28(日) 16:41:14.97ID:n1RanWws 範囲for文のconst autoをconst auto&かauto&&に変えるとどうなる?
425デフォルトの名無しさん
2019/04/28(日) 16:43:13.35ID:UbqPSgHc >>424
auto&&にした時のみエラーが増えます
cannot bind rvalue reference of type ‘const long unsigned int&&’ to lvalue of type
auto&&にした時のみエラーが増えます
cannot bind rvalue reference of type ‘const long unsigned int&&’ to lvalue of type
426デフォルトの名無しさん
2019/04/28(日) 16:54:13.46ID:/ZzCGjK1 beginとendのシグニチャは?
427デフォルトの名無しさん
2019/04/28(日) 17:02:57.34ID:UbqPSgHc >>426
using iterator = typename std;;vector<int>::iterator;
using const_iterator = typename std;;vector<int>::const_iterator;
using my_iterator = MYIterator;
my_iterator begin();
iterator end();
const my_iterator begin() const;
const_iterator end() const;
const my_iterator cbegin() const;
const_iterator cend() const;
using iterator = typename std;;vector<int>::iterator;
using const_iterator = typename std;;vector<int>::const_iterator;
using my_iterator = MYIterator;
my_iterator begin();
iterator end();
const my_iterator begin() const;
const_iterator end() const;
const my_iterator cbegin() const;
const_iterator cend() const;
428デフォルトの名無しさん
2019/04/28(日) 17:18:10.81ID:HBE/zmE6 これで動かん?
for (auto&& _n : _container) {
}
for (auto&& _n : _container) {
}
429デフォルトの名無しさん
2019/04/28(日) 17:28:42.95ID:UbqPSgHc >>428
動かないです
動かないです
430デフォルトの名無しさん
2019/04/28(日) 18:12:40.94ID:/ZzCGjK1 MYIteratorの実体がunsigned longみたいだけど
vector<int>::iteratorの実体がポインタだったらoperator!=の定義できなくない?
vector<int>::iteratorの実体がポインタだったらoperator!=の定義できなくない?
431デフォルトの名無しさん
2019/04/28(日) 18:13:25.64ID:7uO4eV2c >>420
wandboxで再現コード作って出直すか、それができないんならエスパーに頼んだほうがいいんじゃないかな。
https://mevius.2ch.net/test/read.cgi/tech/1187922645/
wandboxで再現コード作って出直すか、それができないんならエスパーに頼んだほうがいいんじゃないかな。
https://mevius.2ch.net/test/read.cgi/tech/1187922645/
432デフォルトの名無しさん
2019/04/28(日) 20:53:07.97ID:B+3vkW9O >>423
bool operator != (〜) const ← これ付け忘れてないか?
bool operator != (〜) const ← これ付け忘れてないか?
433デフォルトの名無しさん
2019/04/28(日) 20:57:20.67ID:HwAGJ3yN constつけ忘れは時々はまる
434デフォルトの名無しさん
2019/04/28(日) 23:15:17.87ID:UbqPSgHc >>427
自己解決
const iteratorとconst_iteratorが一緒だと勘違いしていた
const my_iteratorではなくmy_const_iteratorを実装して返り値とすべきでした
自己解決
const iteratorとconst_iteratorが一緒だと勘違いしていた
const my_iteratorではなくmy_const_iteratorを実装して返り値とすべきでした
435デフォルトの名無しさん
2019/04/29(月) 08:12:30.69ID:caHZo185 struct A{
int member;
};
struct B: A{
void run(){member = 0;}//ok
};
template<typename T>
struct TA{
T member;
};
template<typename T>
struct TB:TA<T>{
void run(){member = 0;}//NG。this->memberとするとok
};
クラステンプレートを継承してクラステンプレートを作成した場合にthisでないと継承元のメンバーが見えないのは仕様?
int member;
};
struct B: A{
void run(){member = 0;}//ok
};
template<typename T>
struct TA{
T member;
};
template<typename T>
struct TB:TA<T>{
void run(){member = 0;}//NG。this->memberとするとok
};
クラステンプレートを継承してクラステンプレートを作成した場合にthisでないと継承元のメンバーが見えないのは仕様?
436デフォルトの名無しさん
2019/04/29(月) 10:32:33.68ID:ytpB6N2f 仕様
一寸前までのmsvcではなぜか通っていたけど
一寸前までのmsvcではなぜか通っていたけど
437デフォルトの名無しさん
2019/04/29(月) 11:47:53.29ID:atpu4K08 >>436
なんでそんな仕様になってるんだろう…
なんでそんな仕様になってるんだろう…
438デフォルトの名無しさん
2019/04/29(月) 12:13:25.59ID:TWBg2sM/439デフォルトの名無しさん
2019/04/30(火) 10:16:07.47ID:5viqjSMx 8bitや16bitのintしか使えない環境で、
32bitなどの大きな数を扱うにはどうすれば良いですか?
変数をいくつかつなげて大きな数を表現できないかと思っているのですが、やり方が分りません。
ご存知の方いらっしゃいましたら教えて頂けると嬉しいです。
32bitなどの大きな数を扱うにはどうすれば良いですか?
変数をいくつかつなげて大きな数を表現できないかと思っているのですが、やり方が分りません。
ご存知の方いらっしゃいましたら教えて頂けると嬉しいです。
440439
2019/04/30(火) 10:20:33.67ID:5viqjSMx 補足させて下さい。
足し算、引き算は出来るようにしたいです。
可能でしたら、掛け算や割り算もできると助かります。
足し算、引き算は出来るようにしたいです。
可能でしたら、掛け算や割り算もできると助かります。
441デフォルトの名無しさん
2019/04/30(火) 10:25:07.05ID:l5C1eDEl 多倍長演算で検索
442デフォルトの名無しさん
2019/04/30(火) 10:45:28.19ID:Cm5pFeJF >>439-440
https://mevius.5ch.net/test/read.cgi/tech/1434079972/51
近々、委譲をやめて継承に戻すつもりです
あと掛け算はkaratsubaを適用できる目処がたちました
x64 に特化してインラインアセンブラ化することも考えています
https://mevius.5ch.net/test/read.cgi/tech/1434079972/51
近々、委譲をやめて継承に戻すつもりです
あと掛け算はkaratsubaを適用できる目処がたちました
x64 に特化してインラインアセンブラ化することも考えています
444はちみつ餃子 ◆8X2XSCHEME
2019/04/30(火) 12:03:49.54ID:MGpUBTsC karatsuba はかなり桁数が多いときじゃないと効果がないとも聞くけど
>>444
多分それは乗算FFTのことかと
多分それは乗算FFTのことかと
446デフォルトの名無しさん
2019/04/30(火) 12:28:54.66ID:44LYo/LT >>439
stdint.h で int_least32_t とか使えるのでは?
stdint.h で int_least32_t とか使えるのでは?
>>446
8bit/16bit CPU で int_least32_t とかはそもそも存在しないのでは?
8bit/16bit CPU で int_least32_t とかはそもそも存在しないのでは?
448デフォルトの名無しさん
2019/04/30(火) 14:19:40.82ID:44LYo/LT >>447
「8bitや16bitのintしか使えない」を見て long や long long はもっと大きいんじゃないの?と思ったんだよ。
「整数型」の意味で"int"って書いてたんなら、確かに存在しない環境のことを言ってるのかもしれない。
その場合は ISO C/C++ の LONG_MAX の最低絶対値の要求に準拠できないってことになるんだけど。
「8bitや16bitのintしか使えない」を見て long や long long はもっと大きいんじゃないの?と思ったんだよ。
「整数型」の意味で"int"って書いてたんなら、確かに存在しない環境のことを言ってるのかもしれない。
その場合は ISO C/C++ の LONG_MAX の最低絶対値の要求に準拠できないってことになるんだけど。
449デフォルトの名無しさん
2019/04/30(火) 14:19:47.17ID:gDkH0fQs 8bit pic用XCでもlongは32bitなのに
>>449
それはそれですごいインプリメンテーションですね…
8 bit PIC で 32bit int がさくさく書けちゃうとは、そのインプリメンターは根性がありますね、それか頭のねじが何本か外れていて「無理を無理と思わない人」とか…
それはそれですごいインプリメンテーションですね…
8 bit PIC で 32bit int がさくさく書けちゃうとは、そのインプリメンターは根性がありますね、それか頭のねじが何本か外れていて「無理を無理と思わない人」とか…
451デフォルトの名無しさん
2019/04/30(火) 15:29:16.24ID:0LsajAP1 shortは16bit固定でlongは32bit固定でしょ。何言ってんの?
452デフォルトの名無しさん
2019/04/30(火) 16:18:35.89ID:coQMvXAj >>451
いや、お前こそ何を言ってるんだ?
いや、お前こそ何を言ってるんだ?
>>451
残念でした、short も long もインプリメンターが好きに実装していいのですっ!きりっ!
残念でした、short も long もインプリメンターが好きに実装していいのですっ!きりっ!
454さまよえる蟻人間 ◆T6xkBnTXz7B0
2019/04/30(火) 16:45:08.36ID:lzNlO/OB >>451
64-bit Linux でsizeof(long) が8だった。移植がある場合は<cstdint>使わんとあかん
64-bit Linux でsizeof(long) が8だった。移植がある場合は<cstdint>使わんとあかん
455デフォルトの名無しさん
2019/04/30(火) 17:46:03.06ID:bcA0O1+B intが16bitならISOの規格は満たしてることになるかな。
32bit以上の長い整数はクラスと演算子オーバーロードで誤魔化すか。
頑張ってもリテラル表記もダメだろうから、使い勝手は悪いよな。
32bit以上の長い整数はクラスと演算子オーバーロードで誤魔化すか。
頑張ってもリテラル表記もダメだろうから、使い勝手は悪いよな。
456デフォルトの名無しさん
2019/04/30(火) 19:51:46.33ID:tnl21ewQ >>451
うろ覚えだが
VC Win32bit: int 32bit long 32bit pointer 32bit
gcc Linux32bit: int 32bit long 32bit pointer 32bit -ここまでは同じ
VC Win64bit: int 32bit long 32bit pointer 64bit -int64_tで64bit整数
gcc Linux32bit: int 32bit long 64bit pointer 64bit
うろ覚えだが
VC Win32bit: int 32bit long 32bit pointer 32bit
gcc Linux32bit: int 32bit long 32bit pointer 32bit -ここまでは同じ
VC Win64bit: int 32bit long 32bit pointer 64bit -int64_tで64bit整数
gcc Linux32bit: int 32bit long 64bit pointer 64bit
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★4 [七波羅探題★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 [蚤の市★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- トランプ大統領 エヌビディア製AI半導体の中国輸出許可 安全保障重視の方針転換 [蚤の市★]
- 【広島】「万引きした人を追跡」コンビニ店員の男性(46)を果物ナイフで刺したか 中国籍の少年(17)を殺人未遂容疑で現行犯逮捕 [ぐれ★]
- 【芸能】デヴィ夫人「日本では犬猫は器物。動物保護を何とか立法化したい」 人と動物が共生を力強く訴え [冬月記者★]
- (´・ω・`)君たちは冬のボーナスを何に使うのかい?
- 寒さしのげる場所があって食べ物も豊富にあるなら熊は冬眠しないの?
- 声優・矢尾一樹の妻「治療の影響で思う様に話せない彼に、近くで仕事をしてきた人が、かっこ悪い!もう辞めなよと言った。私は許さない」 [594040874]
- 【画像】TOKIO山口達也に「いいべ」された当時のJK、性加害の反動であたしこグラドルにwww [779857986]
- 【高市悲報】しかし、香港の火災とか青森の地震で不謹慎な事を言う奴が日中にいたら、そいつこそが世界の「癌」だよな [784715804]
- 気象庁・高市内閣「この後311級の地震の可能性があります。北海道〜関東の人は1週間は地震が来てもすぐ逃げられる格好をしてください」 [597533159]
