【質問】C++でソフト開発したい!【初心者】

■ このスレッドは過去ログ倉庫に格納されています
2008/11/09(日) 20:20:27
C++を使って役立つツールやアプリケーションとその他(ゲームとか)をどうしても作りたい!
ちなみに今まではほとんど黒い画面に出力しかしてないぜ。
いい加減窓出してなんか作りたいのだよ( ´Д`;)

とりあえず最初の目標として[電卓](+-*/ だけの機能)を作ってみたい。
今後はそれから画像編集(加工)ツールとかエフェクトかけたりだとか
管理ツールみたいなとかまぁいろいろあるんだ。

何からすればいいんだ?おしえてくだちい。
2013/05/04(土) 23:08:26.21
>>199
ありがとうございます。
2013/05/05(日) 00:50:47.60
ttp://ideone.com/7m4odb
みたいに使うんだろうから、num[ ] のdelete には [ ] をつけるべきだと思う

delete [ ] num [ i ];
2013/05/05(日) 04:58:28.08
プッ、バーカw
203194
垢版 |
2013/05/08(水) 19:12:24.13
>>196
ありがと


>>197
うるせぇぇぇぇぇぇぇ
それが何なのか聞いてンだよぉぉぉぉぉぉぉぉぉぉ
204デフォルトの名無しさん
垢版 |
2013/05/09(木) 07:26:32.36
C++でアナル開発はできますか?
2013/05/09(木) 09:00:25.24
アナル開発ゲームとか作ればできんじゃね
2013/05/09(木) 13:19:32.89
まず要件定義
2013/05/10(金) 17:18:51.17
struct ANAL{
ANAL* development();
}
2013/05/11(土) 08:23:27.63
;
2013/05/12(日) 11:15:54.37
(*)
210デフォルトの名無しさん
垢版 |
2013/07/03(水) NY:AN:NY.AN
linuxでg++の仕事ないですか?
2013/07/03(水) NY:AN:NY.AN
あります。
212デフォルトの名無しさん
垢版 |
2013/07/03(水) NY:AN:NY.AN
わ 教えてください
2013/07/03(水) NY:AN:NY.AN
自分の飯の種が減るのは嫌なので教えません
214デフォルトの名無しさん
垢版 |
2013/07/03(水) NY:AN:NY.AN
けち〜 ネットワークのプロトコルスタックあたりかなと
2013/07/04(木) NY:AN:NY.AN
いや、普通にGUIアプリ。QtだからMacOSでもWindowsでも動かす。
216デフォルトの名無しさん
垢版 |
2013/07/04(木) NY:AN:NY.AN
私には無理です チキショ
217デフォルトの名無しさん
垢版 |
2013/09/06(金) 13:59:55.12
仕事ありますかぁ
2013/09/06(金) 16:38:15.45
C++を使う案件なら、私のチームで今期だけでも3人月ほど足りない位あるぞ。
219デフォルトの名無しさん
垢版 |
2013/09/06(金) 18:17:06.51
開発環境わ?
2013/09/06(金) 20:56:39.38
Eclipse
221デフォルトの名無しさん
垢版 |
2013/09/06(金) 22:13:08.93
すご CWTでしたけ?
仕事で見た事ないなぁ。
222218
垢版 |
2013/09/07(土) 00:33:58.73
>>219
Qt、cmake、その他。
2013/09/20(金) 23:05:44.00
qt使う案件なんてあったんだ。いいなぁ
224デフォルトの名無しさん
垢版 |
2013/09/22(日) 01:39:46.37
ヘッダファイルにifやforを書いて処理するのはアリなの?
良いことなの?
225デフォルトの名無しさん
垢版 |
2013/09/22(日) 04:38:14.58
>>224
ヘッダに書くとなると、テンプレートかインラインかマクロになるけど、
大規模開発では、ヘッダを頻繁に変えることは好ましくない。コンパイル時間が増えるから。
2013/09/22(日) 11:05:30.43
>>224
ヘッダにそういうのを書かないというルールを徹底した方がご利益が多い
2013/09/22(日) 14:10:49.65
do〜while(0)
228224
垢版 |
2013/09/22(日) 15:22:48.08
ありがとう

ヘッダファイルに処理を書いた場合
処理が実行されるタイミングは
インクルードでヘッダが呼ばれたタイミング?
何度も実行されることになる?
2013/09/22(日) 15:33:21.21
ただの置換です
実行は、あとです
2013/09/22(日) 15:34:56.50
>>228
置換を実行するの(置換するの)は、コンパイルするときだけです
あたりまえだけど、置換されたのを実行するのは、あとです
2013/09/22(日) 17:43:15.23
>>228
マクロはプリプロセッサーで処理されます
gccなら
gcc -E
で処理結果がみれるよ
232デフォルトの名無しさん
垢版 |
2013/09/23(月) 00:02:52.18
コンパイル単位って概念がわかればいいかと。
とにかくコンパイルする場合はでっかい一つのソースになるわけやね。
2013/09/23(月) 00:24:06.41
>>224
ヘッダって単に#includeを使ってプリプロセッサにより別のソース中に挿入されるだけにすぎない。
ヘッダに書いてもソースに書いても、結局プリプロセスされたファイルの中にあるものとしてコンパイルされる。

ヘッダに〜を書くなとされるのは、a.cとb.cがc.hをインクルードしてる場合に、
a.cから作られたa.o(obj)とb.o(obj)の両方にc.h由来の〜が入ってa.o(obj)とb.o(obj)のリンク時に衝突するから。
衝突しないタイプのものや衝突しても適切に処理されるものならヘッダに書いても問題ない。
2013/09/23(月) 11:07:30.11
リンク時のシンボルの衝突がわかればおk
extern も中々楽しい
なんのスレだ
2013/09/23(月) 14:24:23.46
既存のやり方壊すのがとにかく新しいと思ってる馬鹿が多いからな。
そこに落ち着いてるという考えがない。
2013/09/23(月) 17:52:09.10
ベターC(笑)
2013/09/24(火) 04:03:56.47
bestC じゃなくて betterC だからな
問題ない
2013/09/24(火) 06:55:36.97
more better C
2013/09/24(火) 11:17:29.98
ベタなCという意味がわからんのか
2013/09/24(火) 20:46:04.41
I like butter much better than margarine. マーガリンよりバターのほうがずっと好きです.
2013/09/24(火) 21:04:17.04
Butter is too expensive.
2013/09/25(水) 01:26:55.86
バタバタ走るよベタCさん
2013/09/25(水) 18:07:44.06
ベター is the best
ttp://www.youtube.com/watch?v=xu9ba9xFry0
2013/09/25(水) 18:13:14.52
パンにはやっぱりネオソフト
2013/09/26(木) 14:59:17.42
MFCが使いたいやつは中身同じなんだから中古やアカデミックパックの買えばいいのに
vistaにVC6インスコして使ってるけど軽過ぎワロタw
2013/09/26(木) 15:47:24.70
>>245
そこまで行くと動作保証が怪しいけどな…
MSDNライブラリに関してはVC6付属の奴が情報古くとも使いやすくて手放したくない
コレ以後のやつは重いし遅いしネット連携うざいし使いにくいしで良い所がない
2013/09/27(金) 19:31:43.86
アカデミックって放送大学入ればいいんだっけ
2013/09/27(金) 19:46:27.16
>>247
ネット通販で買えるよ
学生かどうかなんて確認しないよw
249デフォルトの名無しさん
垢版 |
2013/11/10(日) 05:09:30.69
したいですぅ
250デフォルトの名無しさん
垢版 |
2014/01/04(土) 22:37:32.46
ネットワーク系のプログラムとか
251デフォルトの名無しさん
垢版 |
2014/01/04(土) 23:10:32.74
C++とか恐ろしく簡単な言語なんだが、これをクソ難しいとか表現する
無能者って多すぎる、

なんでできないの?アフォなんだろうか。

簡単なものにばかりに逃げているから難しいと表現するんだろうな。
2014/01/04(土) 23:16:21.57
>>251
基本は簡単だけど、テンプレートって相当深い気がするんだが・・・?
2014/01/05(日) 00:11:46.32
難しいんではなく落とし穴がぽこぽこあるんで、
鼻歌まじりにやるとぱっかるこーんとなるわけです。
2014/01/07(火) 08:36:05.68
>>251
それはc++でなくcの話のような。
cわかっててc++クソ難しいってひといるのかな?
2014/01/07(火) 12:03:19.48
そりゃいるだろ
枠だけ借りてまったく別物に変わり果ててるんだから
組み込みとかで行間の隅々まで読むような連中には闇にしか見えんし
2014/01/14(火) 15:18:11.65
>>251
最初はみんな、c++がすごく簡単に見えて、多態性とか使おうとするけど
純粋仮想関数を含んだ抽象クラスのコンストラクタから呼び出した仮想呼び出しが未定義
みたいな罠を踏むうちに触りたくなくなってくる
式テンプレートを使ったコードが何やってんのか触りたくなくなる
Boost Lambdaのアホさ加減をしり、ライブラリがバージョンが更新されるのを見て保守不可能だと悟り
あのときcだけ触ってカーネルのコードを読んでいたらと後悔する。これが人生
2014/01/14(火) 15:37:43.23
c++を扱うには、その強力な機能の大部分を敢えて使わない心の強さが必要
2014/01/15(水) 05:02:26.84
乱用されるとクソコードになる機能が山盛りだからねぇ・・・
その機能で何かの効率が明確に上がるかが一つの指標か?
2014/01/15(水) 06:36:08.78
>>258
単に効率単独というか‥‥効率を落とさない記述力かね‥‥
2014/01/15(水) 12:36:42.07
むしろ利用可能な開発環境を狭く限定することによる弊害の方が
2014/01/21(火) 02:55:35.83
MozillaやChromeのコーディングガイドラインを読むと、
どれほどクロスプラットフォームでの開発が大変か分かる
262デフォルトの名無しさん
垢版 |
2014/01/21(火) 09:03:25.37
HTML5最強
2014/02/09(日) 02:58:08.85
>>262
c++じゃ無いから
2014/02/15(土) 17:20:06.12
ネトゲのBOTの作り方教えてください。
2014/02/15(土) 17:57:03.55
都市部に出て浮浪者を二束三文で雇って単純作業をやらす
2014/02/15(土) 20:40:28.63
BOTって何ですか
2014/02/16(日) 01:15:57.70
>>266
自動でゲームのキャラクターを動かして通貨やアイテムを回収するやつ
よく中華がやってる
2014/02/16(日) 03:45:58.16
独習C++を読み終わりました
本の内容はある程度わかっていると思います

そこで次はなんの書籍を当たるのが定石でしょうか?
STLを当たるべきなんでしょうか?

当方のレベルは
・C++の知識は”独習C++”がすべて
・プログラミング経験は無し
・GUI扱ったこと無し
・ライブラリはCの部分も含めて暗記はほぼしていない(解説を見れば理解はできる)
と言った感じです。
よろしくお願いします
269デフォルトの名無しさん
垢版 |
2014/02/16(日) 04:31:11.42
>>267
Ummm やぱよくわからん。オートコレクタみたいなもんか。
それすら良くわからんがw
>>268
何がしたいのですか。
シルト先生のSTL標準講座が定番かと。
2014/02/16(日) 04:35:21.46
>>268
独習だけでは足りないものが多い、とにもかくにも書き散らす量を増やしたいところ
http://toro.2ch.net/test/read.cgi/tech/1390525149/ には同じ目的の c++11-er が常駐しているようだし、ちょうどいいかも

c++11 に対応した本格教科書がいいと思うが、まだないみたいだ、ちょっと時期が悪い
2014/02/16(日) 06:00:04.10
DarkBASIC Pro Freeで最新技術を誰よりも早く習得 - VC++プログラマーより情報が早い

- DarkBASIC Professional - FREE Download(英語版のみ)
 [ http://www.thegamecreators.com/?m=view_product&;id=2000&page=free ]
 [ http://www.thegamecreators.com/?m=download&;file=5003 ]

 U77 Public Release Candidate(最新バージョンアップデート)
 [ http://forum.thegamecreators.com/?m=forum_view&;t=180294&b=1 ]
 [ http://files.thegamecreators.com/darkbasicprofessional/upgrade/dbpro_upgrade_7_7_RC7.zip ]
2014/02/16(日) 12:27:32.08
今回紹介するのはDarkBASIC Professinalフリーバージョン。
商用利用をしないと言う条件ですべての機能が使える。

DarkBASIC本体をダウンロードしたら、メールアドレスを送信してアンロックキーをメール受信する。
次にメールアドレスとアンロックキーをアクティベーション(認証)すればDarkBASICが使えるようになる。
さらに、最新バージョンアップデートを適用すれば、実行速度が高速になる。

DarkBASICはVisualBasic以前の古いBASICの延長上の別系統の設計にある最新BASICで、記述
が簡単で本格的な構造化もサポートしている。

簡単なゲームから大規模プロジェクトまで作成可能だ。

また、外部モデリングフォーマットを通さずにプログラム中で3Dオブジェクトの定義も可能で、非常に自由度
の高いプログラミングができる。

英語版と言うことであるが、BASICと3Dの基礎知識があれば、誰でも使える。
2014/02/16(日) 17:22:14.85
C++の勉強を始めるのですが
書籍を購入しないと覚えられないですか?
2014/02/16(日) 18:17:28.67
>>273
書籍、それも独習あたりから入ればそんなに時間がかからないし、コストパフォがいい
ネットの情報も悪くはないが、真贋を見抜く力を養うには書籍から入るのがいいかもしれない
2014/02/16(日) 20:25:44.52
c++の勉強って、実際のところ何を勉強するの?
パーサーの書き方?マルチスレッド?
276片山博文MZ無能 ◆T6xkBnTXz7B0
垢版 |
2014/02/16(日) 20:46:55.37
>>275
できることは無限にある。何を作りたいかによって勉強すべきことは異なる。
ゲームにも色々ジャンルがあって細かく細分化している。
そもそもC++が必要なのか、スクリプトで充分なのでは?
2014/03/17(月) 18:30:31.47ID:rLCh2DtT
>>273
独習はおすすめだ,C を理解しておればすんなりすすむ,文字列クラスを自力で再構成するところが山場だから,そこは念力まで動員してがんばってほしい
ハーバード・シルト先生にはずれはない
2014/03/22(土) 00:37:31.63ID:X2vd3Q+Y
標準C++もいいよ。
でもやぱ独習の方が改版されてるか
279デフォルトの名無しさん
垢版 |
2014/05/06(火) 15:22:54.51ID:DynE4XBA
 
2014/05/22(木) 20:51:21.54ID:l7GBqiVH
894 :uy:2012/09/10(月) 10:30:46.63
俺様が思うのは
「プログラムの言語仕様なんて少しわかってれば使える、わからない部分は触らなきゃ良い」

これが違ったんだよ
底辺PGや初心者を慰める言葉だこれ
中級者以上ならこの言葉に甘んじたらいけない
プログラム言語は言語仕様をすべて把握していなきゃ使えないし
自分の把握してない言語は積極的に使うべきじゃない

つまりC++を使うなら全部覚えてからだ
でも増え続ける仕様
これはあくまでC++は道具、手段としてのみみないと
足元救われるどころではなく人生を刈り取られる
2014/05/28(水) 01:51:53.42ID:1069+ikW
基底クラスを型にして派生クラスを生成すると
派生クラスのデストラクタが実行されないから
基底クラスのデストラクタに virtual をつけるらしいけど
なんで基底クラスを型に派生クラスを生成するの?
派生クラスを型にして派生クラスを生成すればいいじゃん
2014/05/28(水) 03:02:40.35ID:1yf3kB3k
>>281
> 基底クラスを型にして派生クラスを生成する
この時点で絶望的なまでに話を読み違えてるというか、
読み違えすぎてて意味不明になってるのに気が付いて。

正しくは、生成した派生クラスのインスタンスを基底クラスの型にキャストした状態で破棄すると問題が起きる。
2014/05/28(水) 10:57:59.18ID:mspF09G9
ポインタのない他言語から来たのかな
284281
垢版 |
2014/05/29(木) 11:31:16.13ID:zblOCN9G
http://d.hatena.ne.jp/ajiyoshi/20080925/p1
このサイトに説明されている

BadBase* base = new BadSub(); //"リソース確保しますた"
delete base; //"リソースが開放されない!"

の部分で基底クラスに virtual をつけないといけないと説明があるけど
BadBase* base = new BadSub();
を使わないで
BadSub* sub = new BadSub();
で生成するようにすれば良いんじゃないの?
わざわざなんで virtual 使うの?
2014/05/29(木) 12:02:32.55ID:GJ6Azonc
オブジェクト指向の為の機能を使うんだから当然、多態性位は知ってるだろ?
多態性を実現するにあたって基底クラスのポインタを用いて書かれたコードを、
一々派生クラスの数だけコピペして派生クラスの型を使うように書き直すのか?

例えばの例だが、Log *log=CreateLogFile(argc,argv);とかなってて、
起動オプションに「-log ファイル名」がない場合はログをコンソールに吐く設計とか。
(Logクラスはコンソールにログを吐き、FileLogクラスはLogの派生でファイルに吐く)
FileLogはファイルを開くので、デストラクタを実行しないとファイルが閉じられない。
2014/05/30(金) 00:24:08.04ID:iU8Ve7Yv
>>284
お前さんはキーワード「virtual」―ポリモフィズムを理解していない‥
2014/05/30(金) 10:11:41.42ID:A+ocbhhF
static おじさんの出番ですねわかります
2014/05/30(金) 10:19:49.57ID:hux/CPQY
staticおじさんは迷惑なことに学歴と役職だけはあるんだよなぁ…
2014/05/31(土) 15:52:37.17ID:QHlXh24u
いまさらC++とか
今習得していないんだったら勉強するだけ無駄
C#でも使え
2014/05/31(土) 16:49:07.24ID:eTy5fHBW
>>287 >>288
でも,C++ の virtual にしても,実装に負担をかけてアルゴリズムの記述化を容易にする,という立場だよね,それに反感を感じるというには一定の理解がないわけでもない,linus とかがそういう立場だったね
いやストロヴストルップも極力実装に負担をかける方向を避けているのは理解できるのだが‥‥なんだかその苦労が理解されていないような気がする‥‥

ごめん何も考えていないLLは論外だと思っています
2014/05/31(土) 17:38:33.55ID:PqKUKu7D
>>290
お前は今、多態性とかポリモーフィズムと呼ばれる概念を否定したわけだが
2014/05/31(土) 17:41:15.83ID:IL91pjst
>>289
は?C#なんかウィンドウズでしかつかえないじゃん
2014/05/31(土) 18:15:52.11ID:eTy5fHBW
>>291
!はっ
2014/05/31(土) 18:23:15.34ID:MZZ4d7NB
template って多態性とかポリモーフィズムと呼ばれる概念を否定してるよね
2014/05/31(土) 19:29:50.92ID:PqKUKu7D
>>294
明示的なインタフェイスを介してないってだけで、
テンプレートはまんま多態性の一例だと思うが。
静的なダックタイピング。
インタフェイスを介すコストは減るけど、
代わりにコード量コストが跳ね上がる、のが大抵。
2014/06/01(日) 00:06:45.10ID:0/8fjulz
今は組み込みでもWindowsが主流になって来ている
C、C++なんて今から勉強しても使い物になる5年後には無くなってるから意味ない
やめておけ
既に習得しているならまだ数年は使えるからいいけど
2014/06/01(日) 00:12:26.36ID:b5kgbd/f
なくならねぇよ
バカチョン
2014/06/01(日) 00:41:38.40ID:pBUf1mh0
>>296
Windowsが乗るほどのPCを使う用途は兎も角、そうでないケースでは
寧ろ、SBCの性能が上がってLinuxが乗るのが当たり前になってきている。
2014/06/01(日) 09:44:12.52ID:nKywzM47
で、それらのOSは何で書かれてるのかと

つかC/C++を学ぶことは他の言語の理解の助けにこそなっても、
他の言語を習得する妨げになるわけじゃないんだけどな……
わざわざ学ぶことまで否定する奴ってなんなんだ
自分が理解できなかったから他人の足引っ張るための方便とか?
2014/06/01(日) 10:00:54.47ID:QQAPK+BU
#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();

したときと
同じに動いているように見えるおですが
何が違うんでしょう?
あとどういうときに使い分けるんでしょうか?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況