C PlusPlusのソースを表示
新しいページはコチラ
移動:
案内
,
検索
<table class="mbox-small" style="border:1px solid #aaa; background-color:#f9f9f9; width:22em;" id="RealTitleBanner"> <tr> <td style="width:1px;"></td> <td class="mbox-text plainlist" style="">本来の表記は「<b><span id="RealTitle" style="font-size:large;">C++</span></b>」です。この記事に付けられた題名は{{記事名の制約}}から不正確なものとなっています。</td> </tr> </table> ==='''概要'''=== C++はCの仕様を基にC++独自のエッセンスを交えた言語です。Cを覚えてから、C++でCから変更されたところを知るというのがオーソドックスな勉強方法です。C++から直接勉強するのが、早いとは思うんですけど、Cの知識を抜きにして教えてくれるってことは少なかったりする。<br /> 「まぁ、覚えておいた方がいいんじゃない。」ってツンデレ系の美男、美少女に説得されたら、合点も行くのかもしれません。C言語と他の言語の比較についてですが、C言語はWindows/Mac/UNIX GUIアプリやDLLなどのライブラリ開発やマイコンやPIC操作では、よく使われるし、AndroidではJavaという感じです。WebではJavaScript、PHP、Perlがよく使われ、簡単なアプリケーションであればVisual Basic、MS OfficeマクロでもVBを基本としたVBA、電子回路工作では、アセンブラという低水準言語がよく使われます。奥深さ、難しさで言えばC言語/C++/Visual C++/Visual C++/CLIがトップレベルだと思います。Javaはそこそこ。<br /> 自分の印象としてはC++が理解できれば、他の言語を習得するのはたやすいという印象です。でも何もできあがらないまま終わるくらいなら、PerlやPHP、あるいはVBAで遊んだ方が楽しいかもしれない。電子回路工作が好きな人はPIC or マイコン or プログラム制御機器+アセンブラ+工作に適した言語で楽しむのもよいかと。今すぐお金儲けを!と思う人はJavaでAndroidアプリやObjective-CでiPhoneアプリを開発するのが近道。デザインの勉強もお忘れなく。(Objective-CはMacのためのC++って感じ。最近はMac向けにSwiftっていう言語もあるそうな。)Windows向けアプリで商売は競合も多く、大手のアプリも凄まじいので、技術的にも効率的にも複雑で一番難しいでしょうね。かなり複雑なシステムを提供しないとお金にはならないような気がするし。アイデア次第ですが。AndoroidやiPhoneなら常時携帯していて、ちょっとした便利さがあれば、アプリ購入に繋がるので規模が小さくても可能性はあると思います。課金系は集客力+デザイン力+アイテム数とアイテムとシステムの優位性のバランスが決めてですかね。単なる電子媒体データを欲しいと思わせる状況作りが大事です。やりすぎて、コンプガチャみたいな問題も生まれましたけど。IT系の野心家は電子媒体を効率よくお金に変えようとするから恐ろしい。クリエイターにもそういう人いますかね。苦労して莫大なお金を手にするのは、まぁ許されるんかもしれませんね。ちまちま稼いで生計立てるという生き方もあるわけです。いずれにせよ、どの言語を習得したとしても結局はそれぞれのOS独自のAPIやプログラムインタフェースやプログラム実装のノウハウを理解せねばならないので、よくある分厚い言語参考書をすべて理解したとしてもOS独自のノウハウはとんでもなく膨大なもので、言語の基礎に加えて広辞苑1冊くらいのOS独自の知識を習得しないと全てを自由に操ることなんてできません。修行あるのみです。画像/動画処理や通信技術やMap(GSI)合成あらゆることを網羅しようとすれば、図書館の本棚2~7列くらいの知識と数学の知識が必要になると考えてよいと思います。またプログラムを覚えたところで、インタフェースがへっぽこいと誰も使ってくれないので絵を描く才能や、デザインレイアウトの能力まで必要になります。あるいは3D技術も…。ひとりでやれること。ひとりでやれないこと。よく見極めて学習を進めて欲しいと思います。現代の情報技術リテラシーをもった上で、あーこんなことができたらいいのになぁって思った事を実現させるためには、爆発的な処理能力と体力が必要です。<br /> <br /> ==='''略語'''=== *CRT(C Run-Time)<br /> ::ブラウン管のカソードレイチューブではなく、プログラミング技術としてCRTと表記がある場合は、Cランタイムのことです。実行時に動的に読み込むライブラリを配布しています。WindowsのVersionによっては最初からインストールされているライブラリだったり、そうでなかったりします。CRTリファレンスのような記載がある場合では、C言語関数あるいは++が省略されて、C++言語関数のことを意味し、そのリファレンスですから手引書、参考書、参照ということで、C言語、C++言語説明書と捉えて良いでしょう。動的に呼び出すのではなく、exeに取り込むこともできますが、特別な理由が無い限りは動的に呼び出しをする方式を使います。<br /> <br /> ※サンプルコードには行番号が付与されているため、コピペする場合は、正規表現置換をサポートしているエディタで<br /> (^[1]\.|\r\n[0123456789]{1,3}?\.)を空に変換する置換を実施して下さい。<br /> TerapadというテキストエディタとSpeeeeedとBREGEXP.DLLという正規表現検索アプリを組み合わせて使うのも良いでしょう。<br /> {| style="color:black; background-color:#ffffff;" cellpadding="3" cellspacing="0" border="1" |名前 |Speeeeedで置換(&R) |- |実行ファイル |C:\…\Speeeeed.exe |- |コマンドラインパラメータ |%t.txt |- |作業フォルダ |未入力 |- |キー |なし |} ファイルの上書き保存しない。<br /> □非選択時は使用不可 □起動時に実行<br /> ■終了まで待機する ■メインメニューに表示 ■ポップアップメニューに表示。<br /> ※ただし、Windows環境に限る。Macは持ってないのでやり方は知りません。コツコツ消したりしなきゃなんないのかなぁ<br /> (;´・д・)ダトシタラタイヘン…ゴメポ<br /> そんなことしなくても、タブのソースを表示でwikiのソース表示をしてテキストボックスからプログラム部分を見つけてコピペした方が早いし、確実でした。(汗。 ==='''Cにもあった技術'''=== [[C プリプロセッサ]]<br /> [[C ディレクティブ]]<br /> [[C マクロ]]<br /> [[C pragma]]<br /> [[C sizeof演算子]]<br /> [[C 列挙型]]<br /> [[C 論理演算]]<br /> [[C 構造体]]<br /> [[C 共有体]]<br /> [[C ビットフィールド]]<br /> [[C ポインタ]]<br /> [[C 関数ポインタ]]<br /> [[C 文字列]]<br /> [[C 文字列配列]]※2次元配列<br /> [[C 日本語文字列]]<br /> [[C 文字列操作]] ※注(500KByteくらいある長い記事です。<br /> [[C -> アロー演算子]]<br /> [[C キャスト]]※型変換<br /> <br /> ==='''C++からの技術'''=== [[Cpp bool型]]<br /> [[Cpp NameSpace]]<br /> [[Cpp Using]]<br /> [[Cpp New演算子]]<br /> [[Cpp Delete演算子]]<br /> [[Cpp 参照]]………………………………………………※ 型名& のような指定で宣言される変数の型 例 int& n<br /> [[Cpp 右辺値参照]]………………………………………※ 型名&& のような指定で宣言される変数の型 例 int&& n<br /> [[Cpp 引数規定値]]<br /> [[Cpp クラス]]<br /> [[Cpp クラス アクセス指定子]]<br /> [[Cpp クラス メンバ変数]]<br /> [[Cpp クラス メンバ関数]]<br /> [[Cpp クラス メンバ関数ポインタ]]<br /> [[Cpp クラス 静的メンバ変数]]………………………※グローバル変数のような扱い方をする変数<br /> [[Cpp クラス 静的メンバ関数]]………………………※グローバル変数のような扱い方をする関数<br /> [[Cpp クラス const]]<br /> [[Cpp クラス thisポインタ]]…………………………※クラスの中で、そのクラス自体を指し示すときに使われるポインタ<br /> [[Cpp クラス コンストラクタ]]………………………※クラスの実体化後に呼び出される関数<br /> [[Cpp クラス コピーコンストラクタ]]………………※クラスの実体化後に作られる参照<br /> [[Cpp クラス デストラクタ]]…………………………※クラスの実体が消滅した時に呼び出される関数<br /> [[Cpp クラス インライン関数]]………………………※定義部分に処理内容を記述<br /> [[Cpp クラス オーバーロード]]………………………※引数の違いによる呼び出し関数の決定<br /> [[Cpp クラス 継承]]……………………………………※クラスの基となるクラスから引き継ぐ形式のクラス<br /> [[Cpp クラス 継承 コンストラクタ]]…………………※継承されたクラスのコンストラクタ<br /> [[Cpp クラス 継承 デストラクタ]]……………………※継承されたクラスのデストラクタ<br /> [[Cpp クラス 多重継承]]………………………………※複数のクラスが継承される形式のクラス:直列型および並列型<br /> [[Cpp クラス 仮想関数]]………………………………※実行時に関数を再定義してもよい関数を基のクラスが指定し、再定義された関数の利用の決定をする<br /> [[Cpp クラス 抽象クラス]]……………………………※必ず再定義する必要がある関数を基のクラスが指定している関数。純粋仮想関数。<br /> [[Cpp クラス 仮想基本クラス]]………………………※クラスの継承によって2重に継承される問題を解決する<br /> [[Cpp クラス フレンド]]………………………………※フレンドで定義した関数やクラスは非公開の関数や変数にアクセスできる。<br /> [[Cpp テンプレート]]…………………………………※汎用データ型の関数の定義<br /> [[Cpp クラス テンプレート]]…………………………※汎用データ型のクラスの定義<br /> [[Cpp クラス 構造体 共有体]]………………………※クラスを利用した構造体や共有体<br /> [[Cpp 演算子のオーバーロード]]……………………※演算子の動作の追加定義<br /> [[Cpp typeid演算子]]…………………………………※実行時の型情報取得<br /> [[Cpp 例外処理]]………………………………………※try throw catchによるエラー管理<br /> ==='''C++実装技術'''=== [[Cpp クラス実装例]]
テンプレート:記事名の制約
(
ソースを閲覧
)
C PlusPlus
に戻る。
個人用ツール
ログイン
名前空間
ページ
議論
変種
表示
閲覧
ソースを表示
履歴表示
操作
検索
案内
メインページ
コミュニティ・ポータル
最近の出来事
最近の更新
おまかせ表示
ヘルプ
ツールボックス
リンク元
関連ページの更新状況
特別ページ