[過去ログ] 【初心者歓迎】C/C++室 Ver.100【環境依存OK】 [無断転載禁止]©2ch.net (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
940(1): デフォルトの名無しさん [sage] 2017/07/13(木) 21:06:57.04 ID:a0isPZOF(2/2) AAS
>>937937(1): デフォルトの名無しさん [sage] 2017/07/13(木) 19:34:29.65 ID:b1PvI/zl(1) AAS
どうでもいいけど、
char name[NUM * 2 + 1] = "";
普通こうじゃね?
char name[NUM * 2 + 1] = {'0'};
これでも良い
コンパイル結果はたぶん全部同じだけど
= {'\0'};のタイプミスだよね?
941: デフォルトの名無しさん [sage] 2017/07/13(木) 21:23:18.88 ID:lX8cJUTX(4/4) AAS
>>940
タイプミスじゃなくて文字化けした
スマホから見ると、? が◆の中に書かれた文字になってる
942(1): デフォルトの名無しさん [sage] 2017/07/13(木) 23:03:34.21 ID:xdHlDIka(1) AAS
プログラム終了にexit 0とreturn 0がどう違いますか?
943: はちみつ餃子 ◆8X2XSCHEME [sage] 2017/07/13(木) 23:59:30.53 ID:anRp6w5D(1) AAS
>>942
違わない。
main 内の return は exit と同じ。
944: デフォルトの名無しさん [sage] 2017/07/14(金) 19:19:48.00 ID:TW7O0pB9(1/2) AAS
というタワゴトで他人を陥れるのであった
945(1): 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/07/14(金) 19:26:30.76 ID:RoIBY40S(1/8) AAS
exitは死のトラクターが働かない
946: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/07/14(金) 19:32:27.26 ID:RoIBY40S(2/8) AAS
異常終了以外でexitを使うヤツは素人
947(3): デフォルトの名無しさん [sage] 2017/07/14(金) 20:20:31.05 ID:8ghhANnS(1) AAS
えっ
mainのreturnでint値返すのはexitをその返り値で呼ぶのと全く等価でしょ?
少なくとも現行のC,C++規格では等価と書いてあるけど現実の実装ではそうなってないってこと?
948: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/07/14(金) 20:52:35.05 ID:RoIBY40S(3/8) AAS
#include <iostream>
#include <cstdlib>
struct A {
~A() {
std::cout << "OK" << std::endl;
}
};
int main(void) {
A a;
std::exit(-1);
}
949: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/07/14(金) 20:55:56.83 ID:RoIBY40S(4/8) AAS
>>947
どこに書いてあったか? 苦情入れるぞ。
950: デフォルトの名無しさん [sage] 2017/07/14(金) 21:04:08.43 ID:TW7O0pB9(2/2) AAS
今日の>>945は健常者
後始末される例外ケースについて触れていたら完璧だった
951: デフォルトの名無しさん [sage] 2017/07/14(金) 21:06:50.82 ID:VdC9hBdZ(1) AAS
atexit で後始末回収機構走らないの?
952: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/07/14(金) 21:39:46.62 ID:RoIBY40S(5/8) AAS
>>947
どこに書いてあった?
953: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/07/14(金) 21:46:17.67 ID:RoIBY40S(6/8) AAS
atexitはマニュアルに書いてある通りだから、ここでいちいち説明する必要はない。
954: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/07/14(金) 21:53:53.48 ID:RoIBY40S(7/8) AAS
マニュアルこそが聖書。マニュアルを読まない奴等はノンプレイヤー。
955: デフォルトの名無しさん [sage] 2017/07/14(金) 22:54:13.51 ID:RlDfzlps(1) AAS
つまりexit()はバカ発見器ってこと?
956: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/07/14(金) 23:01:28.54 ID:RoIBY40S(8/8) AAS
C++でexit使うぐらいなら、代わりにC++例外を使った方がいいよ。デバッグしやすいし。
957: デフォルトの名無しさん [sage] 2017/07/15(土) 05:41:00.21 ID:81gh4ly6(1) AAS
>>947
exit() 関数に入ってしまってはデストラクタが働かないのに,それでも return 文と一緒といいはるの?
それ規格がまちがってるから,そのうち修正がはいるはず
958(1): デフォルトの名無しさん [sage] 2017/07/15(土) 13:25:52.33 ID:d+yGYUAe(1/6) AAS
ポインタの作法に慣れないです
読めるけどかけないです
959: デフォルトの名無しさん [sage] 2017/07/15(土) 16:38:44.94 ID:sZ4h7fLQ(1) AAS
ポインタは2段までしか使わないなあ
関数ポインタはstd::functionに入れる癖がついたし
960: デフォルトの名無しさん [sage] 2017/07/15(土) 17:20:33.71 ID:d+yGYUAe(2/6) AAS
#include<stdio.h>
int unko(int x);
int aho(int *y);
int main(void) {
int a[5] = { 1,2,3,4,5 };
unko(a);
aho(&a);
printf("%x\n%x\n", a, &a);
return 0;
}
int unko(int x) {
printf("%x\n", x);
return;
}
int aho(int*y) {
printf("%d\n%d\n",*(y+1), y[2]);
return;
}
このとき関数unkoで配列aの中身にアクセスする方法ってありませんか?
アドレスがわかっているからできそうな気もするんですがよく解りません。
961: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/07/15(土) 17:27:13.54 ID:xLcEZRbh(1) AAS
aがint a[5]であるとき、aはint配列の先頭アドレスだ。unkoの引数をポインターにしろ。
962: デフォルトの名無しさん [sage] 2017/07/15(土) 17:56:11.02 ID:d+yGYUAe(3/6) AAS
はい
963(1): デフォルトの名無しさん [sage] 2017/07/15(土) 20:48:00.24 ID:iuayY/9E(1) AAS
そもそもこのソースコンパイルエラーになるんじゃね?
964: デフォルトの名無しさん [sage] 2017/07/15(土) 21:29:06.16 ID:d+yGYUAe(4/6) AAS
>>963
VSだとコンパイラ通るんですが他のだと通りませんか?
あと関数unkoをいろいろ弄ってたんですが
#include<stdio.h>
void unko(int x);
void aho(int *y);
int main(void) {
int a[5] = { 1,2,3,4,5 };
unko(a);
aho(a);
printf("%x\n%x\n", a, &a);
printf("%d\n",a[4]);
return 0;
}
void unko(int x) {
printf("%x\n", x);
int *p = x;
printf("%d\n%d\n", p[1],*(p+2));
p[4] = 10;
return;
}
void aho(int*y) {
printf("%d\n%d\n",*(y+1), y[2]);
return;
}
こんな記述にすれば少なくともVSでは引数をポインタにしなくても配列aの要素を覗いたり操作したりできることがわかりました。
上下前次1-新書関写板覧索設栞歴
あと 38 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.022s