【質問】C++でソフト開発したい!【初心者】
■ このスレッドは過去ログ倉庫に格納されています
C++を使って役立つツールやアプリケーションとその他(ゲームとか)をどうしても作りたい!
ちなみに今まではほとんど黒い画面に出力しかしてないぜ。
いい加減窓出してなんか作りたいのだよ( ´Д`;)
とりあえず最初の目標として[電卓](+-*/ だけの機能)を作ってみたい。
今後はそれから画像編集(加工)ツールとかエフェクトかけたりだとか
管理ツールみたいなとかまぁいろいろあるんだ。
何からすればいいんだ?おしえてくだちい。 けち〜 ネットワークのプロトコルスタックあたりかなと いや、普通にGUIアプリ。QtだからMacOSでもWindowsでも動かす。 C++を使う案件なら、私のチームで今期だけでも3人月ほど足りない位あるぞ。 ヘッダファイルにifやforを書いて処理するのはアリなの?
良いことなの? >>224
ヘッダに書くとなると、テンプレートかインラインかマクロになるけど、
大規模開発では、ヘッダを頻繁に変えることは好ましくない。コンパイル時間が増えるから。 >>224
ヘッダにそういうのを書かないというルールを徹底した方がご利益が多い ありがとう
ヘッダファイルに処理を書いた場合
処理が実行されるタイミングは
インクルードでヘッダが呼ばれたタイミング?
何度も実行されることになる? >>228
置換を実行するの(置換するの)は、コンパイルするときだけです
あたりまえだけど、置換されたのを実行するのは、あとです >>228
マクロはプリプロセッサーで処理されます
gccなら
gcc -E
で処理結果がみれるよ コンパイル単位って概念がわかればいいかと。
とにかくコンパイルする場合はでっかい一つのソースになるわけやね。 >>224
ヘッダって単に#includeを使ってプリプロセッサにより別のソース中に挿入されるだけにすぎない。
ヘッダに書いてもソースに書いても、結局プリプロセスされたファイルの中にあるものとしてコンパイルされる。
ヘッダに〜を書くなとされるのは、a.cとb.cがc.hをインクルードしてる場合に、
a.cから作られたa.o(obj)とb.o(obj)の両方にc.h由来の〜が入ってa.o(obj)とb.o(obj)のリンク時に衝突するから。
衝突しないタイプのものや衝突しても適切に処理されるものならヘッダに書いても問題ない。 リンク時のシンボルの衝突がわかればおk
extern も中々楽しい
なんのスレだ 既存のやり方壊すのがとにかく新しいと思ってる馬鹿が多いからな。
そこに落ち着いてるという考えがない。 bestC じゃなくて betterC だからな
問題ない I like butter much better than margarine. マーガリンよりバターのほうがずっと好きです. ベター is the best
ttp://www.youtube.com/watch?v=xu9ba9xFry0 MFCが使いたいやつは中身同じなんだから中古やアカデミックパックの買えばいいのに
vistaにVC6インスコして使ってるけど軽過ぎワロタw >>245
そこまで行くと動作保証が怪しいけどな…
MSDNライブラリに関してはVC6付属の奴が情報古くとも使いやすくて手放したくない
コレ以後のやつは重いし遅いしネット連携うざいし使いにくいしで良い所がない >>247
ネット通販で買えるよ
学生かどうかなんて確認しないよw C++とか恐ろしく簡単な言語なんだが、これをクソ難しいとか表現する
無能者って多すぎる、
なんでできないの?アフォなんだろうか。
簡単なものにばかりに逃げているから難しいと表現するんだろうな。 >>251
基本は簡単だけど、テンプレートって相当深い気がするんだが・・・? 難しいんではなく落とし穴がぽこぽこあるんで、
鼻歌まじりにやるとぱっかるこーんとなるわけです。 >>251
それはc++でなくcの話のような。
cわかっててc++クソ難しいってひといるのかな? そりゃいるだろ
枠だけ借りてまったく別物に変わり果ててるんだから
組み込みとかで行間の隅々まで読むような連中には闇にしか見えんし >>251
最初はみんな、c++がすごく簡単に見えて、多態性とか使おうとするけど
純粋仮想関数を含んだ抽象クラスのコンストラクタから呼び出した仮想呼び出しが未定義
みたいな罠を踏むうちに触りたくなくなってくる
式テンプレートを使ったコードが何やってんのか触りたくなくなる
Boost Lambdaのアホさ加減をしり、ライブラリがバージョンが更新されるのを見て保守不可能だと悟り
あのときcだけ触ってカーネルのコードを読んでいたらと後悔する。これが人生 c++を扱うには、その強力な機能の大部分を敢えて使わない心の強さが必要 乱用されるとクソコードになる機能が山盛りだからねぇ・・・
その機能で何かの効率が明確に上がるかが一つの指標か? >>258
単に効率単独というか‥‥効率を落とさない記述力かね‥‥ むしろ利用可能な開発環境を狭く限定することによる弊害の方が MozillaやChromeのコーディングガイドラインを読むと、
どれほどクロスプラットフォームでの開発が大変か分かる 都市部に出て浮浪者を二束三文で雇って単純作業をやらす >>266
自動でゲームのキャラクターを動かして通貨やアイテムを回収するやつ
よく中華がやってる 独習C++を読み終わりました
本の内容はある程度わかっていると思います
そこで次はなんの書籍を当たるのが定石でしょうか?
STLを当たるべきなんでしょうか?
当方のレベルは
・C++の知識は”独習C++”がすべて
・プログラミング経験は無し
・GUI扱ったこと無し
・ライブラリはCの部分も含めて暗記はほぼしていない(解説を見れば理解はできる)
と言った感じです。
よろしくお願いします >>267
Ummm やぱよくわからん。オートコレクタみたいなもんか。
それすら良くわからんがw
>>268
何がしたいのですか。
シルト先生のSTL標準講座が定番かと。 >>268
独習だけでは足りないものが多い、とにもかくにも書き散らす量を増やしたいところ
http://toro.2ch.net/test/read.cgi/tech/1390525149/ には同じ目的の c++11-er が常駐しているようだし、ちょうどいいかも
c++11 に対応した本格教科書がいいと思うが、まだないみたいだ、ちょっと時期が悪い 今回紹介するのはDarkBASIC Professinalフリーバージョン。
商用利用をしないと言う条件ですべての機能が使える。
DarkBASIC本体をダウンロードしたら、メールアドレスを送信してアンロックキーをメール受信する。
次にメールアドレスとアンロックキーをアクティベーション(認証)すればDarkBASICが使えるようになる。
さらに、最新バージョンアップデートを適用すれば、実行速度が高速になる。
DarkBASICはVisualBasic以前の古いBASICの延長上の別系統の設計にある最新BASICで、記述
が簡単で本格的な構造化もサポートしている。
簡単なゲームから大規模プロジェクトまで作成可能だ。
また、外部モデリングフォーマットを通さずにプログラム中で3Dオブジェクトの定義も可能で、非常に自由度
の高いプログラミングができる。
英語版と言うことであるが、BASICと3Dの基礎知識があれば、誰でも使える。 C++の勉強を始めるのですが
書籍を購入しないと覚えられないですか? >>273
書籍、それも独習あたりから入ればそんなに時間がかからないし、コストパフォがいい
ネットの情報も悪くはないが、真贋を見抜く力を養うには書籍から入るのがいいかもしれない c++の勉強って、実際のところ何を勉強するの?
パーサーの書き方?マルチスレッド? >>275
できることは無限にある。何を作りたいかによって勉強すべきことは異なる。
ゲームにも色々ジャンルがあって細かく細分化している。
そもそもC++が必要なのか、スクリプトで充分なのでは? >>273
独習はおすすめだ,C を理解しておればすんなりすすむ,文字列クラスを自力で再構成するところが山場だから,そこは念力まで動員してがんばってほしい
ハーバード・シルト先生にはずれはない 標準C++もいいよ。
でもやぱ独習の方が改版されてるか 894 :uy:2012/09/10(月) 10:30:46.63
俺様が思うのは
「プログラムの言語仕様なんて少しわかってれば使える、わからない部分は触らなきゃ良い」
これが違ったんだよ
底辺PGや初心者を慰める言葉だこれ
中級者以上ならこの言葉に甘んじたらいけない
プログラム言語は言語仕様をすべて把握していなきゃ使えないし
自分の把握してない言語は積極的に使うべきじゃない
つまりC++を使うなら全部覚えてからだ
でも増え続ける仕様
これはあくまでC++は道具、手段としてのみみないと
足元救われるどころではなく人生を刈り取られる 基底クラスを型にして派生クラスを生成すると
派生クラスのデストラクタが実行されないから
基底クラスのデストラクタに virtual をつけるらしいけど
なんで基底クラスを型に派生クラスを生成するの?
派生クラスを型にして派生クラスを生成すればいいじゃん >>281
> 基底クラスを型にして派生クラスを生成する
この時点で絶望的なまでに話を読み違えてるというか、
読み違えすぎてて意味不明になってるのに気が付いて。
正しくは、生成した派生クラスのインスタンスを基底クラスの型にキャストした状態で破棄すると問題が起きる。 http://d.hatena.ne.jp/ajiyoshi/20080925/p1
このサイトに説明されている
BadBase* base = new BadSub(); //"リソース確保しますた"
delete base; //"リソースが開放されない!"
の部分で基底クラスに virtual をつけないといけないと説明があるけど
BadBase* base = new BadSub();
を使わないで
BadSub* sub = new BadSub();
で生成するようにすれば良いんじゃないの?
わざわざなんで virtual 使うの? オブジェクト指向の為の機能を使うんだから当然、多態性位は知ってるだろ?
多態性を実現するにあたって基底クラスのポインタを用いて書かれたコードを、
一々派生クラスの数だけコピペして派生クラスの型を使うように書き直すのか?
例えばの例だが、Log *log=CreateLogFile(argc,argv);とかなってて、
起動オプションに「-log ファイル名」がない場合はログをコンソールに吐く設計とか。
(Logクラスはコンソールにログを吐き、FileLogクラスはLogの派生でファイルに吐く)
FileLogはファイルを開くので、デストラクタを実行しないとファイルが閉じられない。 >>284
お前さんはキーワード「virtual」―ポリモフィズムを理解していない‥ staticおじさんは迷惑なことに学歴と役職だけはあるんだよなぁ… いまさらC++とか
今習得していないんだったら勉強するだけ無駄
C#でも使え >>287 >>288
でも,C++ の virtual にしても,実装に負担をかけてアルゴリズムの記述化を容易にする,という立場だよね,それに反感を感じるというには一定の理解がないわけでもない,linus とかがそういう立場だったね
いやストロヴストルップも極力実装に負担をかける方向を避けているのは理解できるのだが‥‥なんだかその苦労が理解されていないような気がする‥‥
ごめん何も考えていないLLは論外だと思っています >>290
お前は今、多態性とかポリモーフィズムと呼ばれる概念を否定したわけだが >>289
は?C#なんかウィンドウズでしかつかえないじゃん template って多態性とかポリモーフィズムと呼ばれる概念を否定してるよね >>294
明示的なインタフェイスを介してないってだけで、
テンプレートはまんま多態性の一例だと思うが。
静的なダックタイピング。
インタフェイスを介すコストは減るけど、
代わりにコード量コストが跳ね上がる、のが大抵。 今は組み込みでもWindowsが主流になって来ている
C、C++なんて今から勉強しても使い物になる5年後には無くなってるから意味ない
やめておけ
既に習得しているならまだ数年は使えるからいいけど >>296
Windowsが乗るほどのPCを使う用途は兎も角、そうでないケースでは
寧ろ、SBCの性能が上がってLinuxが乗るのが当たり前になってきている。 で、それらのOSは何で書かれてるのかと
つかC/C++を学ぶことは他の言語の理解の助けにこそなっても、
他の言語を習得する妨げになるわけじゃないんだけどな……
わざわざ学ぶことまで否定する奴ってなんなんだ
自分が理解できなかったから他人の足引っ張るための方便とか? #include <strstream.h>
using namespace std;
ostrstream oss;
oss << "test " << hex << setw(4) << setfill('0') << 1024 << endl;
cout << oss.str();
したときと
#include <sstream>
using namespace std;
ostringstream oss;
oss << "test " << hex << setw(4) << setfill('0') << 1024 << endl;
cout << oss.str();
したときと
同じに動いているように見えるおですが
何が違うんでしょう?
あとどういうときに使い分けるんでしょうか? >>298
linux の GPLライセンス(特に v3 )はすでに企業側では問題になっているかと
個人的には RMS の GPL はその体臭の強さで支持を失ってきているかと
はやく Hurd を完成させろ馬鹿 >>296
たしかに組み込みC#が浸透しつつあるし,あの意味不明な VM も見切りがつけられてネイティブが吐かれるようになるご時勢だ
しかし C# を C# で記述できるようになるまでは C/C++ の地位は不動だな >>300
前者がアナクロな書き方。コーディング規約などで制限されていなければ、
後者で書けばいい。 >>305
規格化されている。つーか、そのくらいの検索もできない?
まぁ、厳密なことが知りたいってことなら規格に五月蠅いスレにでも。 でも規格化されてる方を制限するってどういう理由があるんだろ ■ このスレッドは過去ログ倉庫に格納されています