メモ。
やさしいC++―まずは「C言語」からはじめよう!! (I・O BOOKS)
- 作者: 米村貴裕,古川耕平
- 出版社/メーカー: 工学社
- 発売日: 2006/04
- メディア: 単行本
- クリック: 29回
- この商品を含むブログ (9件) を見る
やさしいC++〈Part2〉クラスとオブジェクト指向 (I・O BOOKS)
- 作者: 米村貴裕
- 出版社/メーカー: 工学社
- 発売日: 2006/12/01
- メディア: 単行本
- クリック: 17回
- この商品を含むブログ (4件) を見る
C++ Coding Standards―101のルール、ガイドライン、ベストプラクティス (C++ in‐depth series)
- 作者: ハーブサッター,アンドレイアレキサンドレスク,浜田光之,Herb Sutter,Andrei Alexandrescu,浜田真理
- 出版社/メーカー: ピアソンエデュケーション
- 発売日: 2005/10
- メディア: 単行本
- 購入: 20人 クリック: 383回
- この商品を含むブログ (100件) を見る
両者は「見かけは色々なところが似ていて、根本的なところは非である」気がする。
【Qwerty英字入力を習得してからQwertyローマ字入力を習得すること】には、「Qwerty英字入力を習得していて、JISX4063ローマ字を習得済みであれば【とりあえず打てる】」という美点と共に「【無意識レベルでタッチタイプするためには】結局初めから練習しなければならない」という汚点も内包しているのだけれど、CとC++の間にもそういう関係があるのかもしれない。
いきなりQwertyローマ字入力をやるための方法には「はじめからしつこく2キー単位で規定の文字列を打つ(=それは増田式)」というのがあるとして、C++の習得に関してもそういう直接的な学習方法があるのかも?
……というか、
- 【C】配列とポインタは切り離せない関係にある→配列を覚えてからポインタを覚えよう。
- 【C++】配列のサイズに依存してバッファオーバーランを引き起こしては洒落にならないので、代わりにvectorやstringを使おう。
この2つを矛盾なく満たして説明するために【まずCをやろう】→【C++でCの欠点を補おう(部分的に否定しよう)】という説明手順を踏むのは、だいぶ問題or無駄があるのではないかな、と。
- 作者: ハーバート・シルト,神林靖,トップスタジオ
- 出版社/メーカー: 翔泳社
- 発売日: 2002/11
- メディア: 単行本(ソフトカバー)
- 購入: 4人 クリック: 112回
- この商品を含むブログ (54件) を見る
どういう構成でも構わないので【(後からわざわざ否定をするようなことを避けた)C++だけにフォーカスした書籍】というものを手にしてみたいなぁ……と。C++オンリーのレイヤで「入門」→「ステップアップ」できる(Cの解説書に説明を丸投げしない)書籍は、レビューを見る限り「まだ存在しない」のかもしれない。
#include <cstdlib> // to use "system()". #include <iostream> // to use "cout". using namespace std; int main(int argc, char *argv[]) { cout << "学習を"; // 始めはここだけを説明する。 system("PAUSE"); // 改行せず、引き続きシェルのPAUSEコマンドを発行。 return EXIT_SUCCESS; }
#include <cstdlib> // to use "system()". #include <iostream> // to use "cout","cin","endl". #include <string> // to use "string". using namespace std; int main(int argc, char *argv[]) { string st; cout << "copy:"; cin >> st; cout << "paste:" << st << endl; system("PAUSE"); return EXIT_SUCCESS; }
#include <cstdlib> // to use "system()". #include <iostream> // to use "cout","cin","endl". #include <string> // to use "string". using namespace std; int main(int argc, char *argv[]) { string st; cout << "copy:"; cout << "paste:" << st << cin; // どちらにせよ動かない。 // cout << "paste:" << cin; // どちらにせよ動かない。 cout << endl; system("PAUSE"); return EXIT_SUCCESS; }
うーん……とりあえず、このあたり……からだろうか。
一つ目が改行コードなしで「PAUSEコマンドで出るシステムメッセージの頭に文字を付加して」遊ぼう(?)という話、3つ目はダメな例(説明できないのだけれど)。