エスケープシーケンスやWin32APIなどの環境依存なものもOK
そのような質問は必ず環境を書きましょう
半角空白やタブでのインデントはスレに貼ると無くなります
コードを貼れる所
http://codepad.org/
https://ideone.com/
前スレ
【初心者歓迎】C/C++室 Ver.104【環境依存OK】
https://mevius.5ch.net/test/read.cgi/tech/1545944692/
探検
【初心者歓迎】C/C++室 Ver.105【環境依存OK】
レス数が1000を超えています。これ以上書き込みはできません。
2019/04/25(木) 06:54:38.08ID:6xUIrXDu
944デフォルトの名無しさん
2020/07/06(月) 20:43:39.12ID:SSQMtz9B >>943
一本道で過不足なく必要な物を順序通りに学べるような都合のいい方法なんてないから、ある程度は分からないものを保留して先に進んでから後戻りして理解したり、逆に順調に進んでると思ったら壁に突き当たって後戻りして不足部分を地固めし直してからまた先に進むなんてこともある。
それが当たり前だと思って最初は苦労するしかないと思うよ。ある程度なれてくれば、経験と勘で補いながら効率が上がっていくはず。
一本道で過不足なく必要な物を順序通りに学べるような都合のいい方法なんてないから、ある程度は分からないものを保留して先に進んでから後戻りして理解したり、逆に順調に進んでると思ったら壁に突き当たって後戻りして不足部分を地固めし直してからまた先に進むなんてこともある。
それが当たり前だと思って最初は苦労するしかないと思うよ。ある程度なれてくれば、経験と勘で補いながら効率が上がっていくはず。
945デフォルトの名無しさん
2020/07/06(月) 20:54:22.43ID:fLXZOc4N 二章からポインタの説明が始める入門書で勉強した。今思えば酷いサディスティック教本だったと思う。
タイトルが思い出せない…
タイトルが思い出せない…
>>943
独習C++レベル、accelerated C++ レベル → C++98 STL本 レベル → 結城さんのデザパタを C++ に書き直す訓練 →C++11レイターを本格的に → テンプレートマジック本(今ここ) →積読している effective C++ とその兄弟たちはいつか読みたいものだ
独習C++レベル、accelerated C++ レベル → C++98 STL本 レベル → 結城さんのデザパタを C++ に書き直す訓練 →C++11レイターを本格的に → テンプレートマジック本(今ここ) →積読している effective C++ とその兄弟たちはいつか読みたいものだ
947デフォルトの名無しさん
2020/07/06(月) 21:41:28.85ID:P5id6Ara do{...}while(0);
ってどんな気持ちで使うんでしたっけ?
ってどんな気持ちで使うんでしたっけ?
948デフォルトの名無しさん
2020/07/06(月) 21:42:15.58ID:P5id6Ara #define HOGE(FUGA) do{...FUGA...}while(0)
だからdefineが重要なのかしら
だからdefineが重要なのかしら
949デフォルトの名無しさん
2020/07/06(月) 22:03:03.03ID:KpksOV+E goto否定原理主義者がbreakをgotoの代わりに使う
950デフォルトの名無しさん
2020/07/06(月) 22:57:43.86ID:juxBVe1k アナルに挿入しながら「まだ・・まだ本体には挿入していないっ!
だからこれはセックスではない!」とか言うのと似てるなそれ
だからこれはセックスではない!」とか言うのと似てるなそれ
951はちみつ餃子 ◆8X2XSCHEME
2020/07/07(火) 01:49:20.66ID:tzlORGl2 >>945
C/C++ でポインタを避けて説明する (理解を試みる) 方がつらくない?
C/C++ でポインタを避けて説明する (理解を試みる) 方がつらくない?
952デフォルトの名無しさん
2020/07/07(火) 07:56:58.77ID:bJbvn87/ >>949-950
「大丈夫、パイプカットしてるから」みたいな感じかも。
break や continue を「去勢されたgoto」って喩えるじゃない。
if のネストが深くなるのは嫌だし、
関数からの早期returnも(デバッガで追うのが面倒になるので)ダメ、
goto なんかもっての外、という時に do {} while(0); でゴニョゴニョと。
で、コンパイラさんに「常に偽となる条件式です」とか警告されるの。
「大丈夫、パイプカットしてるから」みたいな感じかも。
break や continue を「去勢されたgoto」って喩えるじゃない。
if のネストが深くなるのは嫌だし、
関数からの早期returnも(デバッガで追うのが面倒になるので)ダメ、
goto なんかもっての外、という時に do {} while(0); でゴニョゴニョと。
で、コンパイラさんに「常に偽となる条件式です」とか警告されるの。
953デフォルトの名無しさん
2020/07/07(火) 12:13:10.64ID:bEGKo5iM954はちみつ餃子 ◆8X2XSCHEME
2020/07/07(火) 13:48:51.21ID:tzlORGl2 >>953
選択肢があることが大事なんだって。
C の理屈だとビットパターンが並んだメモリ空間が広がっていてそこにオブジェクトを配置していくというモデルだから
ポインタを通してそこらを理解させるというのもひとつのやり方としてアリでしょ。
きちんとした理屈を後出しされると「先に言えや!」って気持ちになる人は少なくないと思う。
選択肢があることが大事なんだって。
C の理屈だとビットパターンが並んだメモリ空間が広がっていてそこにオブジェクトを配置していくというモデルだから
ポインタを通してそこらを理解させるというのもひとつのやり方としてアリでしょ。
きちんとした理屈を後出しされると「先に言えや!」って気持ちになる人は少なくないと思う。
955デフォルトの名無しさん
2020/07/07(火) 19:09:26.79ID:v3ijliVb ポインターの何がそんなに難しいと感じるのかわからん
コンピューターの処理なんてアドレス操作ばっかりじゃん
コンピューターの仕組みがわかってないからなのかな?
ならば言語学ぶ前にコンピューターの仕組みを学ぶのが先じゃね?
コンピューターの処理なんてアドレス操作ばっかりじゃん
コンピューターの仕組みがわかってないからなのかな?
ならば言語学ぶ前にコンピューターの仕組みを学ぶのが先じゃね?
956デフォルトの名無しさん
2020/07/07(火) 19:39:25.64ID:aaXFzUCt テスト問題にはポインタパズルとでもいうべきゴミみたいな問題が多いからね
わざわざ難しくして間違えるように幾重にも罠を張ったヤツ
そういうのでポインタ嫌いが増える
わざわざ難しくして間違えるように幾重にも罠を張ったヤツ
そういうのでポインタ嫌いが増える
957デフォルトの名無しさん
2020/07/07(火) 21:02:20.63ID:yByKJQAn サイズ100を100個用意するより
サイズ10000を1個用意してアドレス割り振るとか好き
ポインタ変数分サイズ増えるのは目をつむる確保速度重視
サイズ10000を1個用意してアドレス割り振るとか好き
ポインタ変数分サイズ増えるのは目をつむる確保速度重視
>>945
私は ** を使うくらいなら *& の方がマシだと思っているのですが、 *& で書いた本はまったくないですね…
私は ** を使うくらいなら *& の方がマシだと思っているのですが、 *& で書いた本はまったくないですね…
960デフォルトの名無しさん
2020/07/07(火) 22:12:29.39ID:TeF3RSyR あんだけクズをバカにしてたのに、同じエディタを使ってたなんて!
961デフォルトの名無しさん
2020/07/07(火) 22:17:27.53ID:4bY8cpqR >>960
くやしいのうwwwww
くやしいのうwwwww
963はちみつ餃子 ◆8X2XSCHEME
2020/07/07(火) 23:17:48.32ID:tzlORGl2 >>962
そういうデザインのプログラムがあっても不自然だとは思わないが、
初心者向けでポインタの説明をする段階という前提を置くと参照と混ぜて示すのは混乱の元ちゃう?
& という記号の多義性がアレなのが根本原因ではあるんだが……。
そういうデザインのプログラムがあっても不自然だとは思わないが、
初心者向けでポインタの説明をする段階という前提を置くと参照と混ぜて示すのは混乱の元ちゃう?
& という記号の多義性がアレなのが根本原因ではあるんだが……。
965デフォルトの名無しさん
2020/07/08(水) 08:50:17.72ID:sJ2uy93A >>947-948
同じ人からの連続投稿、ひとつの質問だと気づかなかった。
マクロの実体を do {...} while (0) で囲む定型については
「#define do whole false」でネット検索すると色々出てくる。
この場で説明するには少々分量が多いのだ。
同じ人からの連続投稿、ひとつの質問だと気づかなかった。
マクロの実体を do {...} while (0) で囲む定型については
「#define do whole false」でネット検索すると色々出てくる。
この場で説明するには少々分量が多いのだ。
966デフォルトの名無しさん
2020/07/08(水) 09:23:35.50ID:hADFKHgu そのうち
#define HOGE(FUGA) do{...FUGA...}while(0);
と描いてしまって失敗する
#define HOGE(FUGA) do{...FUGA...}while(0);
と描いてしまって失敗する
967965
2020/07/08(水) 18:00:01.90ID:sJ2uy93A あ、もちろん whole は誤り while で検索してくれ。
× 「#define do whole false」
○ 「#define do while false」
× 「#define do whole false」
○ 「#define do while false」
968デフォルトの名無しさん
2020/07/09(木) 20:13:12.08ID:gJQJWBxs テキストファイルに文字列を書き込みしたいのですが
ofstream ofs("test.txt",ios::ate | ios::in);
ofs << "hoge" << endl;
これだと動いているんですが
最後のendlを無くして"hoge"のみを書き込もうとすると動作しません
どういった理由なんでしょうか?
ofstream ofs("test.txt",ios::ate | ios::in);
ofs << "hoge" << endl;
これだと動いているんですが
最後のendlを無くして"hoge"のみを書き込もうとすると動作しません
どういった理由なんでしょうか?
969デフォルトの名無しさん
2020/07/09(木) 20:17:07.59ID:N+YU0rOq flushしないと
970蟻人間 ◆T6xkBnTXz7B0
2020/07/09(木) 20:22:54.18ID:2UhyUN9n 読み書きは時間がかかる処理だから、読み書きの前に、小さなデータは一時的にバッファという記憶域にまとめて
貯めておき(まあ、キャッシュと似たようなものだ)、改行などがあれば、押し流す(flush)という処理をする。
この場合はendlがflushの役割をする。
貯めておき(まあ、キャッシュと似たようなものだ)、改行などがあれば、押し流す(flush)という処理をする。
この場合はendlがflushの役割をする。
971デフォルトの名無しさん
2020/07/09(木) 20:48:42.31ID:gJQJWBxs972デフォルトの名無しさん
2020/07/11(土) 00:06:30.27ID:87hwO6K6 ポインタを初心者に完璧に理解させる方法分かったわ。
ポインタ=ショートカットアイコンと教えればいいんだ。
メモ帳に文字書いて保存して、ショートカットアイコン作って「これがポインタだよ」って言えばいい。
メモ帳の容量見てごらん?100kbでしょ?ショートカットアイコンの容量見てごらん?1kbしかないね。
ショートカット開いて。文章変えて。ほら1kbのデータで本体が変わった。これがポインタの仕組みだよ。
完璧
ポインタ=ショートカットアイコンと教えればいいんだ。
メモ帳に文字書いて保存して、ショートカットアイコン作って「これがポインタだよ」って言えばいい。
メモ帳の容量見てごらん?100kbでしょ?ショートカットアイコンの容量見てごらん?1kbしかないね。
ショートカット開いて。文章変えて。ほら1kbのデータで本体が変わった。これがポインタの仕組みだよ。
完璧
973デフォルトの名無しさん
2020/07/11(土) 00:21:04.14ID:lUabZX1b ポインタの演算は?
974デフォルトの名無しさん
2020/07/11(土) 00:21:34.19ID:nv0BNjEd その程度の抽象化ならポインタのこと直接説明すればいいと思う
975デフォルトの名無しさん
2020/07/11(土) 08:24:16.69ID:sGHMgavQ 住所録とかじゃダメなん?
976デフォルトの名無しさん
2020/07/11(土) 11:03:46.07ID:J0INoyBc ポインタの躓き処ってそういう場所じゃないから
977デフォルトの名無しさん
2020/07/11(土) 11:18:32.94ID:60oNEnIZ アセンブラから入ると
Cのポインタは色々と意味不明
Cのポインタは色々と意味不明
978デフォルトの名無しさん
2020/07/11(土) 11:20:02.10ID:fm8o+adg 嬉々として大量に出題されるポインタパズルが難易度を無駄に押し上げてる
この時のアドレスは何か、変数は何かと、無駄に凝った問題を作り易いのがポインタの難点
テストのための問題を作る必要があって、そこではふるい落とす必要がある
全員100点じゃマズいと思ってる教師がいるからね
でも教育が成功したと言われる全員100点だとダメ
ここに現行教育の限界点がある
すると、問題難易度は加速しつつ急上昇する
しかも大して面白くもなんともない問題が製造される
穴埋めよりも酷いのが
この時のアドレスは何か、変数は何かと、無駄に凝った問題を作り易いのがポインタの難点
テストのための問題を作る必要があって、そこではふるい落とす必要がある
全員100点じゃマズいと思ってる教師がいるからね
でも教育が成功したと言われる全員100点だとダメ
ここに現行教育の限界点がある
すると、問題難易度は加速しつつ急上昇する
しかも大して面白くもなんともない問題が製造される
穴埋めよりも酷いのが
979デフォルトの名無しさん
2020/07/11(土) 11:20:10.45ID:Rtii2xnW レコード針みたいなもんじゃないの
980デフォルトの名無しさん
2020/07/11(土) 11:45:57.83ID:J0INoyBc 自称「教科書」が間違ってたりするからな
そういうミスリードが初心者をさらに混乱させてる
そういうミスリードが初心者をさらに混乱させてる
981デフォルトの名無しさん
2020/07/11(土) 11:47:30.73ID:60oNEnIZ 初心者用教科書は厳密じゃやくて良いんだよ
982デフォルトの名無しさん
2020/07/11(土) 11:49:05.50ID:60oNEnIZ 高校生の教科書に
ニュートン力学は間違ってるとか
幾何光学は間違ってるとか
この世はユークリッド空間ではない
とか書いても混乱するだけ
ニュートン力学は間違ってるとか
幾何光学は間違ってるとか
この世はユークリッド空間ではない
とか書いても混乱するだけ
983デフォルトの名無しさん
2020/07/11(土) 12:12:13.44ID:J0INoyBc984デフォルトの名無しさん
2020/07/11(土) 12:23:45.26ID:60oNEnIZ 技術書に明らかな間違い?
985デフォルトの名無しさん
2020/07/11(土) 15:56:25.03ID:sGHMgavQ >>976
具体的にどういう場所なん?
具体的にどういう場所なん?
986デフォルトの名無しさん
2020/07/11(土) 16:23:26.53ID:60oNEnIZ & * の多義性
複合型の記述方法
メモリ確保解放
ポインタの型と演算の結果の違い
const, volatile
複合型の記述方法
メモリ確保解放
ポインタの型と演算の結果の違い
const, volatile
987デフォルトの名無しさん
2020/07/11(土) 20:36:15.52ID:87hwO6K6 わかってさえしまえば簡単至極なのに、これほど初心者に教えるのが難しいこともそうはないなw
配列や関数の戦闘アドレスの渡し方をわかりやすく出来てれば難しいと思えることもなかったかもしれない。
配列や関数の戦闘アドレスの渡し方をわかりやすく出来てれば難しいと思えることもなかったかもしれない。
988デフォルトの名無しさん
2020/07/11(土) 20:47:57.04ID:kW8apoiX 戦闘アドレスと防御アドレスを使いこなして達人を目指せ!
989デフォルトの名無しさん
2020/07/11(土) 20:48:58.21ID:lUabZX1b >>987
そうか?
そうか?
990デフォルトの名無しさん
2020/07/11(土) 21:29:54.59ID:sGHMgavQ チートコードはベースアドレスからの距離
ベースアドレスが変わってもチートコードは変わらない
ゲーム好きにはこんな感じか
ベースアドレスが変わってもチートコードは変わらない
ゲーム好きにはこんな感じか
991デフォルトの名無しさん
2020/07/12(日) 08:37:19.13ID:03QLQuvk vc++でバリアント型って使えますか??
993デフォルトの名無しさん
2020/07/12(日) 10:26:26.21ID:NK7E+AG5 pythonのctypes使うときに役に立ってる
ctypes.POINTERとか謎仕様過ぎた
ctypes.POINTERとか謎仕様過ぎた
994デフォルトの名無しさん
2020/07/12(日) 21:37:47.68ID:PErY82OB C++って団塊ジュニアまでの言語って感じがする
これから爆発的に需要が伸びていく可能性なんてないよね?
これから爆発的に需要が伸びていく可能性なんてないよね?
995デフォルトの名無しさん
2020/07/12(日) 21:51:26.17ID:dmFXGwc3 伸びるとかよくわからんが
今時のウェーイってしている言語にしたって、大抵コア部分のライブラリやらランタイムやらはcやc++で書かれているのだから
その言語のお客様で済む用途を越えて何かしようとしたら、出来ないと困るだろ
今時のウェーイってしている言語にしたって、大抵コア部分のライブラリやらランタイムやらはcやc++で書かれているのだから
その言語のお客様で済む用途を越えて何かしようとしたら、出来ないと困るだろ
>>994
世に存在する計算機言語の半分以上は C/C++ で記述されていたりするのです
世に存在する計算機言語の半分以上は C/C++ で記述されていたりするのです
997はちみつ餃子 ◆8X2XSCHEME
2020/07/13(月) 02:47:06.70ID:vJz2FqxN 陣取り合戦をしているわけでもなし、
需要が伸びればいいってもんでもない。
重要なのは居場所を見つけるかどうかって話だと思う。
C++ が適切とは言えないけど C++ が比較的マシという理由で C++ が使われている
というのはよくあることで、新しい言語が出現してそういう分野を奪っていくこともある。
もともと C++ がイマイチだったところが消えるだけで、
どんどん衰退して消える運命ってほどのもんではない。
需要が伸びればいいってもんでもない。
重要なのは居場所を見つけるかどうかって話だと思う。
C++ が適切とは言えないけど C++ が比較的マシという理由で C++ が使われている
というのはよくあることで、新しい言語が出現してそういう分野を奪っていくこともある。
もともと C++ がイマイチだったところが消えるだけで、
どんどん衰退して消える運命ってほどのもんではない。
998デフォルトの名無しさん
2020/07/13(月) 06:38:36.94ID:17o/9bhC そろそろ次のスレッド…このスレッドが終わる前に告知を…。
俺は…ダメだ(がっくし)。
俺は…ダメだ(がっくし)。
999デフォルトの名無しさん
2020/07/13(月) 07:37:30.49ID:/O+2Yaja 1000なら次スレなし
1000デフォルトの名無しさん
2020/07/13(月) 07:53:41.77ID:V+zIL/Eb のとおり
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 445日 0時間 59分 3秒
新しいスレッドを立ててください。
life time: 445日 0時間 59分 3秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 空自機レーダー照射、音声データ公開 中国 [蚤の市★]
- 「中国側も日本機のレーダーを感知していた」 中国メディアが報道 [♪♪♪★]
- 日銀「歴史的」利上げ迫る 35年ぶりの年間上げ幅、0.5%の壁を突破 [蚤の市★]
- 堀江貴文、キャッシュレス非対応の店にモヤッ 『PayPay』立ち上げの人物にまさかの直談判「現金決済しかできないんだけど…」 [冬月記者★]
- 【おこめ券】鈴木農相 米価維持の意図「一切ない」★3 [ぐれ★]
- 【サッカー】上田綺世の活躍は「一過性」 15戦18発も…オランダ英雄は懐疑的な姿勢「確信に至っていない」 [ゴアマガラ★]
- 【悲惨】中国軍が自衛隊に「事前通告」し自衛隊も返答した音声が公開されてしまうwwwこれは高市チェックアウトゕ★2 [597533159]
- 【悲惨】中国軍が自衛隊に「事前通告」し自衛隊も返答した音声が公開されてしまうwwwこれは高市チェックアウトゕ [597533159]
- 現役JKのお茶会スレ( ¨̮ )︎︎𖠚ᐝ180
- 中国の日本向けレアアースの輸出止まる、高市のせいで日本終了のお知らせ [931948549]
- 韓国政府、高市早苗の「竹島領土」発言にブチギレwwwwwwwwwwwwwwww [834922174]
- 【悲報】JA「全然米が売れなくて倉庫を圧迫してる。助けて!」米卸売り業者「安売りしたら赤字になる…助けて!」 [802034645]
