エスケープシーケンスや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
■ このスレッドは過去ログ倉庫に格納されています
2017/07/18(火) 07:07:27.20ID:vzMDiUgd
786デフォルトの名無しさん
2017/10/01(日) 11:40:53.20ID:Q5nZisR/787デフォルトの名無しさん
2017/10/01(日) 11:49:29.48ID:o4fxg+Ov 可能性を言い出したらなんでもあり
不毛なレスは止めようよ
不毛なレスは止めようよ
788デフォルトの名無しさん
2017/10/03(火) 17:35:19.79ID:ZgS0QfuG789デフォルトの名無しさん
2017/10/03(火) 18:51:26.51ID:kBDRpd1G >>788
どういう実装だった?
どういう実装だった?
790デフォルトの名無しさん
2017/10/03(火) 19:50:33.30ID:VzAuCmWc shared_ptrを戻すメンバ関数があるんですが
引数の条件に一致する物が無い場合、空というのが分かるshared_ptrを返したいんです。
どう書けばいいですか?
引数の条件に一致する物が無い場合、空というのが分かるshared_ptrを返したいんです。
どう書けばいいですか?
791片山博文MZ ◆T6xkBnTXz7B0
2017/10/03(火) 19:52:37.35ID:TFSQFt7Y ヌルポインター返してgetメソッドで確認。
792デフォルトの名無しさん
2017/10/03(火) 19:59:11.57ID:VzAuCmWc ありがとうございました!
793はちみつ餃子 ◆8X2XSCHEME
2017/10/03(火) 22:45:38.84ID:7OuP8h6T std::optional を使った方がよくない?
794デフォルトの名無しさん
2017/10/04(水) 15:03:07.29ID:B6Js2yoS795デフォルトの名無しさん
2017/10/04(水) 21:20:20.65ID:eGyO5ooe 初心者的質問で申し訳ないですが、libファイルの検索仕方を教えて下さい。
includeファイルはgrepかければ見つかりますが、リンクするとき、静的ライブラリ、libファイルの検索はどうすればいいか分かりません。
とりあえず、怪しい奴を片っ端からリンクしますが、それもどうかと思います。
マニュアルに書いてある訳でもないので皆さまどうされてるのか気になります。
includeファイルはgrepかければ見つかりますが、リンクするとき、静的ライブラリ、libファイルの検索はどうすればいいか分かりません。
とりあえず、怪しい奴を片っ端からリンクしますが、それもどうかと思います。
マニュアルに書いてある訳でもないので皆さまどうされてるのか気になります。
797775
2017/10/05(木) 07:26:13.70ID:/WMFst6h ありがとうございます。
ネットで調べるのがメインなので、つい、本はケチってしまいました
bgrepは入れられないので-aでなんとかしてみます
ネットで調べるのがメインなので、つい、本はケチってしまいました
bgrepは入れられないので-aでなんとかしてみます
798デフォルトの名無しさん
2017/10/05(木) 21:03:39.22ID:MEVeuXK3799デフォルトの名無しさん
2017/10/05(木) 21:31:37.51ID:Px1fI0/v いちいちけなさんと会話も出来んのかゴミクズが
へー、じゃあ寿命は保証されてるわけか、そんなことはなかったはずだが
>>765の問題は寿命の問題だと思うが、ケチつけるなら正確に書いてくれる?
混乱を招くだけのイチャモンとか何の役にも立たんわ
へー、じゃあ寿命は保証されてるわけか、そんなことはなかったはずだが
>>765の問題は寿命の問題だと思うが、ケチつけるなら正確に書いてくれる?
混乱を招くだけのイチャモンとか何の役にも立たんわ
800デフォルトの名無しさん
2017/10/05(木) 23:47:16.81ID:7Cw6eX8p c_strは実態をさすけど変更するなって書いてなかったっけ?
801デフォルトの名無しさん
2017/10/06(金) 00:14:51.51ID:M5Ph95zK 03以前は変更された後にc_str()を使うのも、そもそも内部で連続してる保証も無かったはず
今調べたけどdata(), c_str()の呼び出しでも変更される可能性があるらしい(11は大丈夫
今調べたけどdata(), c_str()の呼び出しでも変更される可能性があるらしい(11は大丈夫
802デフォルトの名無しさん
2017/10/07(土) 00:46:39.10ID:AU7JWIym ポインターを覚えたけど、使いどころが思い付かない
誰か教えて……
誰か教えて……
803デフォルトの名無しさん
2017/10/07(土) 02:11:18.12ID:El+Xr4aF >>802
一個のサイズが10KBほどある構造体のソートにでも使えよ
一個のサイズが10KBほどある構造体のソートにでも使えよ
804デフォルトの名無しさん
2017/10/07(土) 15:35:22.92ID:cqowZFEs それポインタじゃなくて整数でよくない
805デフォルトの名無しさん
2017/10/07(土) 16:29:02.76ID:jvf7kHO4 ポインタと整数じゃ概念が違う
整数をアドレスを指し示す用途で使いますよってのがポインタだし
整数をアドレスを指し示す用途で使いますよってのがポインタだし
806デフォルトの名無しさん
2017/10/07(土) 17:29:30.12ID:jg4p8iD7 変数とポインターでメモリをずっと使うか取り除くかの違い?
807デフォルトの名無しさん
2017/10/07(土) 17:49:35.28ID:vj+NLXIf >>802
mallocの戻り値とかsprintfの引数とかで使えばええねん
mallocの戻り値とかsprintfの引数とかで使えばええねん
808デフォルトの名無しさん
2017/10/07(土) 19:03:08.66ID:AU7JWIym みなさんありがとうございます
規模の大きいデータで使うみたいですね
後は他の関数を飛び越えてアクセスしたい時とか
規模の大きいデータで使うみたいですね
後は他の関数を飛び越えてアクセスしたい時とか
809デフォルトの名無しさん
2017/10/08(日) 11:15:35.68ID:2tobGFFt >>805
配列のソートだったらアドレスよりインデックスの方が概念的に適切だろ?
配列のソートだったらアドレスよりインデックスの方が概念的に適切だろ?
810デフォルトの名無しさん
2017/10/10(火) 15:59:13.06ID:3nxFazlM p==p_rgh + rho*gh;
とあるのですが意味がわかりません。
p=p_rgh+rho*gh;であるべきと思うのですが、==と=が使い分けされているので
タイプミスではなさそうです。どなたかよろしくお願いします。
とあるのですが意味がわかりません。
p=p_rgh+rho*gh;であるべきと思うのですが、==と=が使い分けされているので
タイプミスではなさそうです。どなたかよろしくお願いします。
811片山博文MZ ◆T6xkBnTXz7B0
2017/10/10(火) 16:10:57.64ID:RmsAElXw >>810
「p==p_rgh」は、pとp_rghが等しいとき1 (true)になり、等しくないときゼロ (false)になる。
「p==p_rgh」は、pとp_rghが等しいとき1 (true)になり、等しくないときゼロ (false)になる。
812片山博文MZ ◆T6xkBnTXz7B0
2017/10/10(火) 16:14:41.98ID:RmsAElXw813デフォルトの名無しさん
2017/10/10(火) 19:02:14.11ID:z98emhq8 >>810
問題のその式が、if文のカッコの中ではなく、普通に式文としてセミコロンで終わる1行として書かれているなら、ただの誤記の可能性が高いと思うよ。
問題のその式が、if文のカッコの中ではなく、普通に式文としてセミコロンで終わる1行として書かれているなら、ただの誤記の可能性が高いと思うよ。
814デフォルトの名無しさん
2017/10/10(火) 19:04:42.99ID:3nxFazlM >>812
ご回答ありがとうございます。が、やはりわかりません。
たとえば、
if (p==p_rgh + rho*gh)
{
…
}
や、q=p==p_rgh + rho*gh;とかならわかるのですが、
…
p==p_rgh + rho*gh;
…
と独立しているのでどんな処理をしているのか・・・
ご回答ありがとうございます。が、やはりわかりません。
たとえば、
if (p==p_rgh + rho*gh)
{
…
}
や、q=p==p_rgh + rho*gh;とかならわかるのですが、
…
p==p_rgh + rho*gh;
…
と独立しているのでどんな処理をしているのか・・・
815デフォルトの名無しさん
2017/10/10(火) 19:11:07.30ID:+PpsJNG1 >>814
その本をさらせ、話はそれからだ
その本をさらせ、話はそれからだ
816片山博文MZ ◆T6xkBnTXz7B0
2017/10/10(火) 19:12:17.54ID:RmsAElXw >>814
そのように独立していれば何もしない。何もしない文をわざわざ複雑に書くことは意味がないので、代入を間違って書かれたと考えられる。
そのように独立していれば何もしない。何もしない文をわざわざ複雑に書くことは意味がないので、代入を間違って書かれたと考えられる。
817はちみつ餃子 ◆8X2XSCHEME
2017/10/10(火) 20:29:28.41ID:ISsQMV5w operator== をオーバーロードしてたらなんかすることもあるのでは。
818デフォルトの名無しさん
2017/10/10(火) 20:44:10.61ID:9u7+xOBM そのコードでググったら流体シミュレーション系のライブラリが出てきたけど
=の誤植っぽいな
=の誤植っぽいな
819デフォルトの名無しさん
2017/10/10(火) 22:40:42.03ID:0CEF1oXw >>817
あるかもしれんが、それを書いた奴は底意地が悪いにもほどがあるなw
あるかもしれんが、それを書いた奴は底意地が悪いにもほどがあるなw
820デフォルトの名無しさん
2017/10/11(水) 23:12:25.71ID:0+NB42kW 糞オーバーロードは死刑で
821デフォルトの名無しさん
2017/10/12(木) 08:00:09.14ID:sPruOUUO パズルとか頭の体操みたいな意味では
キチガイじみた演算子オーバーロードも面白いんだけどね。
これを業界用語で
"Proving Grounds of the Mad Overload" と呼んだりする。
キチガイじみた演算子オーバーロードも面白いんだけどね。
これを業界用語で
"Proving Grounds of the Mad Overload" と呼んだりする。
822デフォルトの名無しさん
2017/10/12(木) 08:59:40.90ID:ILNtvg14823デフォルトの名無しさん
2017/10/13(金) 01:27:13.01ID:DZqiVJRN p ghってなに
825デフォルトの名無しさん
2017/10/13(金) 01:43:21.69ID:DZqiVJRN で、p ghってなに?
826デフォルトの名無しさん
2017/10/13(金) 02:20:13.79ID:vXJvgE+6 少し遡れよ
827デフォルトの名無しさん
2017/10/13(金) 06:55:33.00ID:kwktlkZb828デフォルトの名無しさん
2017/10/13(金) 07:59:25.08ID:IEqvHxzW ぷげはー
829827
2017/10/13(金) 11:29:02.31ID:kwktlkZb830デフォルトの名無しさん
2017/10/13(金) 11:34:16.38ID:qDJA92iZ831デフォルトの名無しさん
2017/10/14(土) 13:55:38.78ID:c4RRY+Fs http://webings.net/c/cal/
ここのソースコードをバーチャルスタジオにコピペしてビルドして実行してもHTML形式で表示してくれないんですが
HTML形式で表示するには何が必要なんですか?
ここのソースコードをバーチャルスタジオにコピペしてビルドして実行してもHTML形式で表示してくれないんですが
HTML形式で表示するには何が必要なんですか?
832片山博文MZ ◆T6xkBnTXz7B0
2017/10/14(土) 13:59:57.61ID:WLIJLkzn >>831
拡張子が.htmlまたは.htmのテキストファイルとウェブブラウザー。
拡張子が.htmlまたは.htmのテキストファイルとウェブブラウザー。
833デフォルトの名無しさん
2017/10/14(土) 13:59:58.35ID:c4RRY+Fs ヴィジュアルスタジオでしたすみません
834片山博文MZ ◆T6xkBnTXz7B0
2017/10/14(土) 14:02:26.81ID:WLIJLkzn >>831
そのプログラムは、ウェブサーバー側で実行されることを想定している。
そのプログラムは、ウェブサーバー側で実行されることを想定している。
835デフォルトの名無しさん
2017/10/14(土) 14:03:11.84ID:c4RRY+Fs 自分のPCでは無理ですか?
837デフォルトの名無しさん
2017/10/14(土) 14:04:57.37ID:c4RRY+Fs 難しいですね・・・
838デフォルトの名無しさん
2017/10/14(土) 14:27:50.51ID:c4RRY+Fs 苦Cまでは勉強したんですがどういう本読めばそういうの勉強できますか?
839片山博文MZ ◆T6xkBnTXz7B0
2017/10/14(土) 14:33:48.58ID:WLIJLkzn ウェブサーバーのインストールくらいは本を読まずに小学生でもできる。
ウェブサーバーについて知りたいなら「ウェブサーバーとは」で検索。
ウェブサーバー側のプログラムは、標準出力にHTMLを出力するただのコンソールプログラムか、スクリプトプログラムだ。
ブラウザーでウェブサーバーにアクセスすると、ウェブサーバー経由で出力されたHTMLが見れる。
ウェブサーバーについて知りたいなら「ウェブサーバーとは」で検索。
ウェブサーバー側のプログラムは、標準出力にHTMLを出力するただのコンソールプログラムか、スクリプトプログラムだ。
ブラウザーでウェブサーバーにアクセスすると、ウェブサーバー経由で出力されたHTMLが見れる。
840片山博文MZ ◆T6xkBnTXz7B0
2017/10/14(土) 14:43:24.68ID:WLIJLkzn "Content-type: text/html\n\n"
これは、httpヘッダーというものだ。これはHTMLテキスト以外にブラウザーと対話するためのデータだ。
httpヘッダーは、二つの改行コード("\n\n")で終わる決まりになっている。
これは、httpヘッダーというものだ。これはHTMLテキスト以外にブラウザーと対話するためのデータだ。
httpヘッダーは、二つの改行コード("\n\n")で終わる決まりになっている。
841片山博文MZ ◆T6xkBnTXz7B0
2017/10/14(土) 14:56:36.99ID:WLIJLkzn ウェブについてはウェブ技術関連だから、C/C++とは別の話になる。スレ違いだから、ウェブ技術板へ行った方がいいかも知れない。
842片山博文MZ ◆T6xkBnTXz7B0
2017/10/14(土) 15:03:37.69ID:WLIJLkzn スレ違いのため、誘導します。
インターネット質問スレ64 [無断転載禁止]??2ch.net
http://mevius.2ch.net/test/read.cgi/internet/1500505753/
ここのスレでウェブサーバーとHTTPの仕組みについて質問するといいよ。
インターネット質問スレ64 [無断転載禁止]??2ch.net
http://mevius.2ch.net/test/read.cgi/internet/1500505753/
ここのスレでウェブサーバーとHTTPの仕組みについて質問するといいよ。
843デフォルトの名無しさん
2017/10/14(土) 15:10:51.07ID:jjVQLoTb いい加減に書き込みで文字化けするブラウザなんて捨てろよ
844デフォルトの名無しさん
2017/10/14(土) 17:42:42.94ID:3MCmUjcj845片山博文MZ ◆T6xkBnTXz7B0
2017/10/14(土) 17:50:52.07ID:WLIJLkzn >>844
Web関係をやりたいのかい? WebではCはあまり使わないよ。使うなら、JavaScript, Java, PHP, Python, RoR, SQLぐらいかな。
Web関係をやりたいのかい? WebではCはあまり使わないよ。使うなら、JavaScript, Java, PHP, Python, RoR, SQLぐらいかな。
846片山博文MZ ◆T6xkBnTXz7B0
2017/10/14(土) 18:09:28.74ID:WLIJLkzn C/C++でWebやるなら、Win32API直接叩くか、cURLのような汎用のライブラリーを使うか、SQLiteかMySQLでデータベースにアクセスするくらいかな。
847デフォルトの名無しさん
2017/10/14(土) 18:41:27.96ID:3MCmUjcj >>845
webやりたいって言うか上のサイト見たいな事をC言語でもできることにびっくりしたんです
webやりたいって言うか上のサイト見たいな事をC言語でもできることにびっくりしたんです
848片山博文MZ ◆T6xkBnTXz7B0
2017/10/14(土) 19:05:03.99ID:WLIJLkzn Cはバッファオーバーフローが起こりやすく基本的に安全じゃない言語であり、バイナリーは、ロックの問題があり、またポータブルじゃないから、サーバー側のアプリではあまり使わない。
849デフォルトの名無しさん
2017/10/14(土) 20:01:26.45ID:kY4tNrcH 安全安全って、お前らバグ仕込みの達人かよ…
850デフォルトの名無しさん
2017/10/14(土) 20:17:34.14ID:q9IpA67V int c=0;
for(;;) c++;
これだけでバッファオーバーフローって起きるんですか?
for(;;) c++;
これだけでバッファオーバーフローって起きるんですか?
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関数のアドレスを表示しているとエスパーしてみる
■ このスレッドは過去ログ倉庫に格納されています
