エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。
◆ソースのインデントについて
半角空白やTABでのインデントはスレに貼ると無くなります。
そのため、アップローダーに上げるのも手ですが直接貼る場合は、
全角空白か に置換すると見栄えだけはよくなります。
【アップローダー】(質問が長い時はココ使うと便利)
http://codepad.org/ (コンパイルもできるし出力結果も得られる[]privateをチェック)
http://ideone.com/ (時間帯によってはcodepadが重い事があるのでここも利用)
前スレ
【初心者歓迎】C/C++室 Ver.100【環境依存OK】
http://mevius.2ch.net/test/read.cgi/tech/1478440682/
探検
【初心者歓迎】C/C++室 Ver.101【環境依存OK】 [無断転載禁止]©2ch.net
レス数が950を超えています。1000を超えると書き込みができなくなります。
2017/07/18(火) 07:07:27.20ID:vzMDiUgd
851デフォルトの名無しさん
2017/10/14(土) 20:23:02.85ID:4H9yAKfY 無限ループだけどバッファーの確保領域を突破してアクセスするようなコードを吐き出すことは無い
と思う
と思う
852片山博文MZ ◆T6xkBnTXz7B0
2017/10/14(土) 20:43:46.00ID:WLIJLkzn >>850
簡単に分かりやすい例を挙げると、外側から来た任意の長さの文字列でstrcatやsprintfなどを使うと危険。
危険な関数は使用禁止してセキュリティの強化された関数に置き換えないといけない。
簡単に分かりやすい例を挙げると、外側から来た任意の長さの文字列でstrcatやsprintfなどを使うと危険。
危険な関数は使用禁止してセキュリティの強化された関数に置き換えないといけない。
853片山博文MZ ◆T6xkBnTXz7B0
2017/10/14(土) 20:59:09.10ID:WLIJLkzn だが、残念ながら、教育現場ではバッファの長さを考慮しないsprintfやstrcatを教えているところが今でもある。
標準のC言語ではセキュリティは低いと考えた方がいい。
標準のC言語ではセキュリティは低いと考えた方がいい。
854デフォルトの名無しさん
2017/10/14(土) 20:59:25.10ID:MqT/JM+M855片山博文MZ ◆T6xkBnTXz7B0
2017/10/14(土) 21:16:55.49ID:WLIJLkzn ちっ、俺がstrsafeを移植しないといけないか。
856デフォルトの名無しさん
2017/10/14(土) 23:37:16.03ID:q9IpA67V >>851-854
ということは、255サイズのリングバッファ作りたいときって
unsigned char buffer[255] = {0};
unsigned char head=0, tail=0;
unsigned char pop(){
if(head==255) head = 0;
return buffer[++head];
}
void push(unsigned char data){
if(tail==255) tail = 0;
buffer[++tail]=data;
}
このサイズチェックのif文なくても大丈夫ってことですか?
ということは、255サイズのリングバッファ作りたいときって
unsigned char buffer[255] = {0};
unsigned char head=0, tail=0;
unsigned char pop(){
if(head==255) head = 0;
return buffer[++head];
}
void push(unsigned char data){
if(tail==255) tail = 0;
buffer[++tail]=data;
}
このサイズチェックのif文なくても大丈夫ってことですか?
857デフォルトの名無しさん
2017/10/14(土) 23:48:06.29ID:oz/gRrlj お前の例だと255でゼロになるけど
オーバーフローの場合は256でゼロになる
よって必要
オーバーフローの場合は256でゼロになる
よって必要
858デフォルトの名無しさん
2017/10/15(日) 00:30:38.33ID:9R+c2v2L ひでーコードだ。
859デフォルトの名無しさん
2017/10/15(日) 00:40:58.16ID:4m9/y95n headがぶっ壊れそう
860片山博文MZ ◆T6xkBnTXz7B0
2017/10/15(日) 05:20:33.19ID:3VVV/TO4 >>856
#define BUFSIZE 255
unsigned char buf[BUFSIZE] = {0};
size_t head = 0, tail = 0;
void push(unsigned char data)
{
assert(head < BUFSIZE);
buffer[head] = data;
++head;
if (head >= BUFSIZE) head = 0;
}
unsigned char pop()
{
unsigned char ret;
assert(tail < BUFSIZE);
ret = buf[tail];
++tail;
if (tail >= BUFSIZE) tail = 0;
return ret;
}
#define BUFSIZE 255
unsigned char buf[BUFSIZE] = {0};
size_t head = 0, tail = 0;
void push(unsigned char data)
{
assert(head < BUFSIZE);
buffer[head] = data;
++head;
if (head >= BUFSIZE) head = 0;
}
unsigned char pop()
{
unsigned char ret;
assert(tail < BUFSIZE);
ret = buf[tail];
++tail;
if (tail >= BUFSIZE) tail = 0;
return ret;
}
861デフォルトの名無しさん
2017/10/15(日) 09:46:01.53ID:TMBfPksM >>856
head &= 255; でチェック不要
head &= 255; でチェック不要
862デフォルトの名無しさん
2017/10/15(日) 10:09:16.14ID:IWZc9Obf 単なる例なんだろうけど、バッファサイズ=255って中途半端だな。
buffer[255]にセンチネル置くんならわかるが。
buffer[255]にセンチネル置くんならわかるが。
863デフォルトの名無しさん
2017/10/15(日) 11:47:13.03ID:uX83yxiA >>860
片山センセイ!
unsigned char buf[BUFSIZE] = {0};
て書いてある本と
unsigned char buf[BUFSIZE] = {};
て書いてある本があるんですけど同じでしょうか!?
片山センセイ!
unsigned char buf[BUFSIZE] = {0};
て書いてある本と
unsigned char buf[BUFSIZE] = {};
て書いてある本があるんですけど同じでしょうか!?
864片山博文MZ ◆T6xkBnTXz7B0
2017/10/15(日) 11:57:22.80ID:3VVV/TO4865デフォルトの名無しさん
2017/10/15(日) 12:04:53.73ID:t/hnbV6s866デフォルトの名無しさん
2017/10/15(日) 13:58:06.01ID:Mr2SylDC すこし譲って % 演算子で
867デフォルトの名無しさん
2017/10/16(月) 02:26:41.08ID:0Qezg1+a 除算より条件分岐の方が速い定期
868デフォルトの名無しさん
2017/10/16(月) 06:49:20.44ID:IzFutT5/ >>856
リングバッファの容量を256バイトにして、
バッファ領域を unsigned char buffer[256] = {0}; と
ちゃんと256バイト分確保すればサイズチェックは不要になるな。
ただし unsigned char の値範囲が 0 - 255 っていう「普通」の環境であること。
char が9ビットとか16ビットの機械/コンパイラもあるんだよね。
リングバッファの容量を256バイトにして、
バッファ領域を unsigned char buffer[256] = {0}; と
ちゃんと256バイト分確保すればサイズチェックは不要になるな。
ただし unsigned char の値範囲が 0 - 255 っていう「普通」の環境であること。
char が9ビットとか16ビットの機械/コンパイラもあるんだよね。
869デフォルトの名無しさん
2017/10/16(月) 07:00:03.02ID:IzFutT5/ それにしても >>856 は何やらモヤモヤするコードだと思ったら…
バッファサイズが 255 と半端な値
リングバッファのアクセス関数が push() / pop() て名前
インデクス操作が前置++
tail と head が互いを追い越す可能性(バッファあふれの可能性)
まだあるかな。
バッファサイズが 255 と半端な値
リングバッファのアクセス関数が push() / pop() て名前
インデクス操作が前置++
tail と head が互いを追い越す可能性(バッファあふれの可能性)
まだあるかな。
870デフォルトの名無しさん
2017/10/16(月) 08:04:32.95ID:iBTaJQF1 >char が9ビットとか16ビットの機械/コンパイラもあるんだよね。
え゛?まじで
え゛?まじで
871デフォルトの名無しさん
2017/10/16(月) 08:18:16.95ID:ipy+DI/z872デフォルトの名無しさん
2017/10/16(月) 08:49:21.72ID:IzFutT5/ 先に == 255 の判定をして 0 に戻すから
範囲外の buffer[255] にアクセスする危険があるのか。
インデクスに前置++は見慣れなくて気色悪い、じゃ済まない問題だな。
範囲外の buffer[255] にアクセスする危険があるのか。
インデクスに前置++は見慣れなくて気色悪い、じゃ済まない問題だな。
873デフォルトの名無しさん
2017/10/16(月) 12:53:13.92ID:TeGVYWUh874デフォルトの名無しさん
2017/10/16(月) 12:59:13.25ID:TeGVYWUh >>870
俺も実機は見たことないけど
パーソナルコンピューターでは一般に8ビット長だが、DEC PDP-10、IBM 7090、ACOS-6の動作するNECのメインフレームなど、36ビットワードマシンでは1バイトが9ビットであり、charも9ビット長となっている。
http://www.wdic.org/w/TECH/char
俺も実機は見たことないけど
パーソナルコンピューターでは一般に8ビット長だが、DEC PDP-10、IBM 7090、ACOS-6の動作するNECのメインフレームなど、36ビットワードマシンでは1バイトが9ビットであり、charも9ビット長となっている。
http://www.wdic.org/w/TECH/char
875デフォルトの名無しさん
2017/10/16(月) 16:13:16.23ID:mLqrsWtl876デフォルトの名無しさん
2017/10/16(月) 16:14:16.39ID:mLqrsWtl >>874
char16bitならもうちょっと身近に
char16bitならもうちょっと身近に
877デフォルトの名無しさん
2017/10/16(月) 20:14:57.67ID:e0xkLpP0 >>870
DSPとかだと40bitなんてのもあるよ
DSPとかだと40bitなんてのもあるよ
878デフォルトの名無しさん
2017/10/16(月) 21:01:51.62ID:JAGwlDmF >>877
ほんとに?
ほんとに?
879はちみつ餃子 ◆8X2XSCHEME
2017/10/16(月) 21:19:32.17ID:8llzdgRf >>870
ISO などでは 2008 年に 1 バイトは 8 ビットという定義を決めた。
http://diode.matrix.jp/LEGEND/BYTE.htm
1 バイトが 8 ビットではない (それなりに広く使われている) アーキテクチャが事実上消えたのは決め手のひとつだと思う。
C でこの定義を採用すると明記されているわけではないので、
C の言語仕様としては依然として処理系定義という扱いのはずだし、
何かの用途に特化したプロセッサでは変則的なものはいくらでもありうるんだけど、
自分で書くプログラムでそこまで想定することはまず無いわな。
ISO などでは 2008 年に 1 バイトは 8 ビットという定義を決めた。
http://diode.matrix.jp/LEGEND/BYTE.htm
1 バイトが 8 ビットではない (それなりに広く使われている) アーキテクチャが事実上消えたのは決め手のひとつだと思う。
C でこの定義を採用すると明記されているわけではないので、
C の言語仕様としては依然として処理系定義という扱いのはずだし、
何かの用途に特化したプロセッサでは変則的なものはいくらでもありうるんだけど、
自分で書くプログラムでそこまで想定することはまず無いわな。
880デフォルトの名無しさん
2017/10/16(月) 22:10:25.19ID:7CHwAcHs 処理系を言わないならx86と勝手に解釈していい。charは8bitじゃない処理系もあるとかナンセンス。
881デフォルトの名無しさん
2017/10/17(火) 00:03:46.71ID:gPfxTVwW vector<string> a;
for(auto i=0; i<20; ++i) a.push_back(" ");
// vector<string> b;
// b.push_back(" ");
て、なんかおかしな所ある?デバッガで size がやたら大きな値になる…
下2行コメント外すと想定どおりになる…もう、わからん
for(auto i=0; i<20; ++i) a.push_back(" ");
// vector<string> b;
// b.push_back(" ");
て、なんかおかしな所ある?デバッガで size がやたら大きな値になる…
下2行コメント外すと想定どおりになる…もう、わからん
882はちみつ餃子 ◆8X2XSCHEME
2017/10/17(火) 01:11:42.94ID:xlsZVRp9883デフォルトの名無しさん
2017/10/17(火) 01:15:35.02ID:hVetZd8l そういうときはな。デバッガで調べるんだよ。
884デフォルトの名無しさん
2017/10/17(火) 04:44:35.63ID:AOvKqYYR PICはcharが6ビット。
885デフォルトの名無しさん
2017/10/17(火) 07:19:31.01ID:nwT4mK5H >>881
size関数のアドレスを表示しているとエスパーしてみる
size関数のアドレスを表示しているとエスパーしてみる
886デフォルトの名無しさん
2017/10/17(火) 08:33:10.47ID:HbTCC5+E887デフォルトの名無しさん
2017/10/17(火) 09:15:45.07ID:EtZfCwzt888デフォルトの名無しさん
2017/10/17(火) 09:48:13.45ID:s7U5ZpjM だな
889はちみつ餃子 ◆8X2XSCHEME
2017/10/17(火) 10:10:10.17ID:xlsZVRp9890デフォルトの名無しさん
2017/10/17(火) 12:07:40.67ID:XkjDmgw/ VC で Release ビルドでデバッグトレースしてたりして
あれ、ソースレースできちゃうけど、あまりあてになんねーし
あれ、ソースレースできちゃうけど、あまりあてになんねーし
891デフォルトの名無しさん
2017/10/17(火) 12:09:50.70ID:kRPJAKch コンピューターの定義次第やな
株や証券取引に広く使われているFPGAはどういう扱いなの?
CUDAはどうなの?これらもC言語と称している言語で書くが?
この先は宗教戦争になるから止めれ
株や証券取引に広く使われているFPGAはどういう扱いなの?
CUDAはどうなの?これらもC言語と称している言語で書くが?
この先は宗教戦争になるから止めれ
892デフォルトの名無しさん
2017/10/17(火) 13:01:09.70ID:qd6dTZ1I 「コンピューター」に限定する必要もない
スレタイ見よう
スレタイ見よう
893デフォルトの名無しさん
2017/10/17(火) 18:28:45.12ID:hVetZd8l verilogやHLSLのどこがC言語なんだよ。
894デフォルトの名無しさん
2017/10/17(火) 18:47:35.04ID:HbTCC5+E >>893
そんなことを書いてるのはお前だけ
そんなことを書いてるのはお前だけ
895デフォルトの名無しさん
2017/10/17(火) 21:42:56.86ID:0HMqhgUO >>889
汎用とか特化に食いついてるのではなくて、「事実上消えた」ってところと、「自分で書くプログラムでそこまで想定することはまず無いわな」の部分に食いついているんだけどね。
汎用とか特化に食いついてるのではなくて、「事実上消えた」ってところと、「自分で書くプログラムでそこまで想定することはまず無いわな」の部分に食いついているんだけどね。
896デフォルトの名無しさん
2017/10/17(火) 21:46:38.99ID:0HMqhgUO 組み込みの世界が特化という点は反論しないし、ぶっちゃけどうでもいい。
でも、特化してるからって、別に消えてないし、仕事で普通に気にしてるし。
でも、特化してるからって、別に消えてないし、仕事で普通に気にしてるし。
897はちみつ餃子 ◆8X2XSCHEME
2017/10/18(水) 02:21:26.88ID:8euWiZGY >>895-896
「それなりに広く使われているアーキテクチャとしては」と限定して書いているのは、
そうでないアーキテクチャでは残っていることは承知しているという意味だよ。
自分ってのはまさに「私」のことなので実際気にする場面に遭遇したことがないし、
それをどうこう言われても俺に組込み系の仕事をして欲しいというのでもなけりゃ何の意味があるのかわからん。
「それなりに広く使われているアーキテクチャとしては」と限定して書いているのは、
そうでないアーキテクチャでは残っていることは承知しているという意味だよ。
自分ってのはまさに「私」のことなので実際気にする場面に遭遇したことがないし、
それをどうこう言われても俺に組込み系の仕事をして欲しいというのでもなけりゃ何の意味があるのかわからん。
898デフォルトの名無しさん
2017/10/18(水) 04:12:20.13ID:aws8n6lY C/C++てもう組込用途しか需要無いんですか?
899はちみつ餃子 ◆8X2XSCHEME
2017/10/18(水) 04:51:52.35ID:8euWiZGY んなこたーない。
900デフォルトの名無しさん
2017/10/18(水) 05:22:14.83ID:Wqkl1Wvb JavaやC#、その他の高級言語、スクリプト言語で済むならそこにはC/C++の出番はない。
組み込み、OS、ドライバ、ハード寄り専用言語と思っていい。
組み込み、OS、ドライバ、ハード寄り専用言語と思っていい。
901デフォルトの名無しさん
2017/10/18(水) 06:54:18.33ID:lHCL+31V902デフォルトの名無しさん
2017/10/18(水) 07:45:33.63ID:AKs1AZwU 個人的な主観をさも一般論かのように書かれるのは迷惑だな
903デフォルトの名無しさん
2017/10/18(水) 08:56:09.82ID:at3yxigr904デフォルトの名無しさん
2017/10/18(水) 09:00:16.16ID:at3yxigr >>897
あともう一つ、君の今いる世界が、世間一般とは限らないから。
あともう一つ、君の今いる世界が、世間一般とは限らないから。
905デフォルトの名無しさん
2017/10/18(水) 10:03:33.10ID:NAca40Iu 並行世界か。
906はちみつ餃子 ◆8X2XSCHEME
2017/10/18(水) 11:38:55.90ID:8euWiZGY907デフォルトの名無しさん
2017/10/18(水) 11:55:04.11ID:LfPioRS3 8bitでない処理系とかの話になるとすぐ荒れるよな
客観的に見ると、噛み付いてる組み込みの連中の方が支離滅裂だよ
脊髄反射する前に一連のレス読み直した方がいい
客観的に見ると、噛み付いてる組み込みの連中の方が支離滅裂だよ
脊髄反射する前に一連のレス読み直した方がいい
908デフォルトの名無しさん
2017/10/18(水) 12:15:35.97ID:NAca40Iu VSはよく出来てるからMSから取り上げて国連で管理するべき。
909デフォルトの名無しさん
2017/10/18(水) 12:16:43.65ID:NAca40Iu 国連移管後のVSは戦略物資として利用者を追跡するべき。
910デフォルトの名無しさん
2017/10/18(水) 12:54:25.64ID:lHCL+31V911デフォルトの名無しさん
2017/10/18(水) 13:11:40.64ID:oy9jxwBz 907だが、本気でそう思うなら頭沸いてるぞ
912デフォルトの名無しさん
2017/10/18(水) 15:39:35.53ID:NAca40Iu 病院に連れて行ったほうが良い。
913デフォルトの名無しさん
2017/10/18(水) 20:02:41.54ID:3bYwz/rX armとインテルだけで世界が回ってると思ってるのかな
914デフォルトの名無しさん
2017/10/18(水) 21:03:18.48ID:lHCL+31V 本気でそう思うからお前らがまず受診してこいよ w
お前らの世間狭すぎるだろ
お前らの世間狭すぎるだろ
915デフォルトの名無しさん
2017/10/18(水) 23:53:45.00ID:oy9jxwBz >>879の
>アーキテクチャが事実上消えた
組み込み系じゃない俺でもさすがに消えてないとは思うが、
まず基本的に1バイトの定義がはっきりして、さらにコンピュータの性能進化とともに
特殊な処理系が減っていくならそれ自体は良いことじゃねーの?
>>868辺りからの流れに対して無意味な罵倒してるのはお前らだろ
特殊な処理系を知ってるのがお前らのアイデンティティなの?ww
あと
>>895
>「自分で書くプログラムでそこまで想定することはまず無いわな」
俺もまず想定しないよ、リトルエンディアンですら気にしたことない
気にするのは必要になってからだ、まず必要にならないのに想定してコスト増やすのはただの給料泥棒
>アーキテクチャが事実上消えた
組み込み系じゃない俺でもさすがに消えてないとは思うが、
まず基本的に1バイトの定義がはっきりして、さらにコンピュータの性能進化とともに
特殊な処理系が減っていくならそれ自体は良いことじゃねーの?
>>868辺りからの流れに対して無意味な罵倒してるのはお前らだろ
特殊な処理系を知ってるのがお前らのアイデンティティなの?ww
あと
>>895
>「自分で書くプログラムでそこまで想定することはまず無いわな」
俺もまず想定しないよ、リトルエンディアンですら気にしたことない
気にするのは必要になってからだ、まず必要にならないのに想定してコスト増やすのはただの給料泥棒
916デフォルトの名無しさん
2017/10/18(水) 23:59:19.56ID:oy9jxwBz 間違えた、ビッグエンディアンだった
リトルエンディアンの環境でしか書いたことないし、俺の場合は多分今後も無いので。
リトルエンディアンの環境でしか書いたことないし、俺の場合は多分今後も無いので。
917デフォルトの名無しさん
2017/10/19(木) 00:31:08.38ID:4jS9VIw9 Cが使われるような用途ではバイナリレベルの話は必須のはずだが。IF仕様で必ず指定あるだろ。
918デフォルトの名無しさん
2017/10/19(木) 08:27:23.91ID:hylRky7G 引っ込みつかなくなった井の中の ID:oy9jxwBz 乙 w
919デフォルトの名無しさん
2017/10/19(木) 09:17:54.41ID:Guom/JOK さすがに>>880は乱暴過ぎると思うぞ
920デフォルトの名無しさん
2017/10/19(木) 11:09:01.22ID:Ka5Awqhg921デフォルトの名無しさん
2017/10/19(木) 12:45:12.45ID:hylRky7G922デフォルトの名無しさん
2017/10/19(木) 13:08:04.36ID:Ka5Awqhg923デフォルトの名無しさん
2017/10/19(木) 14:15:39.49ID:qgTZ/C3n 普通に自信あるなら論点のみ論破して後スルーでよくね?
924デフォルトの名無しさん
2017/10/19(木) 21:51:19.20ID:AKvCLhcx > ハードの制約や特殊な環境というのがCPUにしか無いと思ってる
引っ込みつかなくなって話をそらそうと必死だな w
引っ込みつかなくなって話をそらそうと必死だな w
925デフォルトの名無しさん
2017/10/19(木) 23:46:58.92ID:6TDKNKTM ハネウェルの9ビットは汎用コンピュータだけどな
926はちみつ餃子 ◆8X2XSCHEME
2017/10/21(土) 00:01:02.62ID:piER3a9b 多くの職をなるべく均等に育成する方針でいたんだけど、
まずはどれでもいいからレベル上げして高レベルの宝の地図をゲットしたら育成なんていくらでも出来るな。
完全に失敗だわ。
仕方がないのでウォルロ北東の高台ではぐれメタル相手にレベル上げしてる。
まずはどれでもいいからレベル上げして高レベルの宝の地図をゲットしたら育成なんていくらでも出来るな。
完全に失敗だわ。
仕方がないのでウォルロ北東の高台ではぐれメタル相手にレベル上げしてる。
928デフォルトの名無しさん
2017/10/21(土) 01:26:13.78ID:01QdRZD5 どのスレか特定してやる
929デフォルトの名無しさん
2017/10/21(土) 08:05:22.19ID:RIH/f2PJ ドラクエ9かな
930デフォルトの名無しさん
2017/10/21(土) 09:07:27.71ID:FoEY9rcC ウォルロ
確定ですね
確定ですね
931デフォルトの名無しさん
2017/10/27(金) 15:14:51.06ID:BaiBMwP3 typedef size_t size_type;
こういうコードを良く見るんですが、これは何のためにやってるんでしょうか?
こういうコードを良く見るんですが、これは何のためにやってるんでしょうか?
933デフォルトの名無しさん
2017/10/27(金) 15:47:51.76ID:C4KpdBNl conanのようなパッケージマネージャってどうなの?
使ってる人ー?
使ってる人ー?
934デフォルトの名無しさん
2017/10/27(金) 16:29:53.23ID:8v9HsLU9 驚きの柔軟剤ふわふわファーファ。
935デフォルトの名無しさん
2017/10/27(金) 20:57:21.79ID:qcblY/zy クラスの静的メンバー変数って何に使うんですあk?
936デフォルトの名無しさん
2017/10/27(金) 21:06:52.03ID:/LUCvRWS オブジェクトを横断して共有したい情報の保持
何個実体作ったっけ?ってカウントしたり
何個実体作ったっけ?ってカウントしたり
937デフォルトの名無しさん
2017/10/27(金) 21:23:23.67ID:BaiBMwP3 型を抽象化とはsize_tをsize_typeでオーバーライドすると言う意味で
型の切り替えとはsize_tとsize_typeを使い分けるということでしょうか?
型の切り替えの意味が合っているとしたら、中身が同じものを使い分ける事なんてあるんですか?
型の切り替えとはsize_tとsize_typeを使い分けるということでしょうか?
型の切り替えの意味が合っているとしたら、中身が同じものを使い分ける事なんてあるんですか?
938デフォルトの名無しさん
2017/10/27(金) 21:44:14.01ID:M7vRAAca 例えば何かの都合でsize_typeをssize_tにした方がよいとなった場合にtypedefを一行変更するだけで済む
他の部分はsize_typeという型で抽象化されているから簡単に切り替えられるということ
他の部分はsize_typeという型で抽象化されているから簡単に切り替えられるということ
939デフォルトの名無しさん
2017/10/27(金) 23:53:57.84ID:BaiBMwP3940デフォルトの名無しさん
2017/10/28(土) 00:20:18.16ID:n4Ie7UZ/ >>939
いや、べつに
いや、べつに
941デフォルトの名無しさん
2017/10/28(土) 05:57:50.48ID:KtZXeElz typedef unsigned int Uint;
typedef unsigned int MyResID;
typedef unsigned int MyID;
例えば、Uint だと意味が分からないから、
リソース番号なら、MyResID
自分のID なら、MyID
などと再定義して、用途を分けておくと、見た目にも分かりやすい
「c typedef」で検索!
typedef unsigned int MyResID;
typedef unsigned int MyID;
例えば、Uint だと意味が分からないから、
リソース番号なら、MyResID
自分のID なら、MyID
などと再定義して、用途を分けておくと、見た目にも分かりやすい
「c typedef」で検索!
942デフォルトの名無しさん
2017/10/28(土) 11:30:31.16ID:aIwzbvt/ 変数名でわかるじゃん
943デフォルトの名無しさん
2017/10/28(土) 11:45:42.58ID:UQLb/21G 見た目が分かりやすいからsize_tをsize_typeにすると>>941は思ったのだろうか
944デフォルトの名無しさん
2017/10/28(土) 12:16:56.59ID:5IbYoyZ3 >>941
それは見た目で用途が分かりやすいというだけでなく、ある用途の場合だけ型を変更し易いという利点が主じゃないかな?
例えばMyResIDは当初は整数で良かったけど後で文字列に変更したくなったとか。
それは見た目で用途が分かりやすいというだけでなく、ある用途の場合だけ型を変更し易いという利点が主じゃないかな?
例えばMyResIDは当初は整数で良かったけど後で文字列に変更したくなったとか。
945デフォルトの名無しさん
2017/10/28(土) 12:33:49.13ID:MyIroYJQ MyResIDは8桁の数字を取り扱うんだけど、
intが16bitの環境に移植することになった…なんて時に便利
intが16bitの環境に移植することになった…なんて時に便利
946デフォルトの名無しさん
2017/10/31(火) 12:46:46.26ID:KJARTkQB >>931
よく見るってどこでよく見るの?
よく見るってどこでよく見るの?
947デフォルトの名無しさん
2017/10/31(火) 13:08:37.17ID:0cbtiG+h テンプレートなんかでよく見るvalue_typeみたいなもんかね
948デフォルトの名無しさん
2017/10/31(火) 18:04:33.78ID:vd1YUsZz >>900
>組み込み、OS、ドライバ、ハード寄り専用言語と思っていい。
言語系自体(C#/Java) は C/C++ で書かれているんじゃない?C/C++ 以外で記述されたエディター、というのも思い当たらないね
>組み込み、OS、ドライバ、ハード寄り専用言語と思っていい。
言語系自体(C#/Java) は C/C++ で書かれているんじゃない?C/C++ 以外で記述されたエディター、というのも思い当たらないね
949デフォルトの名無しさん
2017/10/31(火) 18:23:56.52ID:TOtCAKzB >>948
Atom, Visual Studio Code
Atom, Visual Studio Code
950デフォルトの名無しさん
2017/10/31(火) 18:52:57.69ID:QkT+8axj >>948
Vz
Vz
951デフォルトの名無しさん
2017/10/31(火) 19:10:34.72ID:xyLQL02Tレス数が950を超えています。1000を超えると書き込みができなくなります。
ニュース
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★10 [ぐれ★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「高市さん負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 [樽悶★]
- トランプ氏「台湾侵攻すれば北京爆撃」“過激予告発言”報道がXで再燃「高市氏の1億倍やばい」 [七波羅探題★]
- 【為替】対ドルで157円台、対ユーロ181円台に下落 財政悪化を警戒 [蚤の市★]
- 「母の部屋に安倍氏が表紙の機関誌が」「(安倍氏が被害者なのは)不思議に思いませんでした」山上被告の妹が証言 ★2 [おっさん友の会★]
- 【ペルソナ・ノン・グラータ】中国総領事の早期国外退去を首相に要請へ 自民・保守系グループ「日本の尊厳と国益を護(まも)る会」 [ぐれ★]
- 山上の妹「母の部屋には安倍晋三が表紙の統一の機関紙がいつも置いてた」 [961870172]
- 中国報道、高市首相を「毒苗」と中傷😡 [399259198]
- 【高市悲報】🇨🇳中国「日本への報復措置? 他にいくらでも方法はある。 まだまだやめないよ」 😨😱 [485983549]
- 中国に喧嘩売ったジャップwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
- 【悲報】日本、パンダ0にwwwwwwwwwwww高市さんありがとう🐼 [271912485]
- 安倍晋三さん、完全にチェックアウトしてしまう…「母の部屋に安倍元首相が表紙の旧統一教会の機関誌があった」 [405019576]
