C++相談室 part73
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2009/10/05(月) 21:47:14ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレに
お願いします。
前スレ
C++相談室 part72
http://pc12.2ch.net/test/read.cgi/tech/1251773567/
0153デフォルトの名無しさん
2009/10/09(金) 20:15:45こっちだった
0154デフォルトの名無しさん
2009/10/09(金) 20:31:52ぱっと見た感じ知能指数が弱いように見えます
質問したら叩かれそうです
>>152
え・・そんなスクリプト垂れ流しされても困ります・・><
0155デフォルトの名無しさん
2009/10/09(金) 20:39:34HSPプログラムコンテスト2009
HSPプログラムコンテストは、プログラム言語HSP(Hot Soup Processor)により
作られた作品を募集し表彰するイベントです。
すべての応募作品は無料で公開され、ダウンロードできますので、
作品を見てみたいという人も大歓迎です。
HSPを使っている人も、そうでない人も楽しむことができる自作プログラムの祭典にぜひご参加ください。
詳しくは、下のリンクをご覧ください。
締切りまで1ヵ月になりました
いよいよ10月に入って残り期間1ヵ月となりました。
多くの作品ご応募頂き、ありがとうございます。
ギリギリまで製作されている方は、最後の追い込み頑張ってください。
そして、これから製作する人もまだ間に合いますので、ぜひコンテストにご参加ください。
http://hsp.tv/contest2009/
0156デフォルトの名無しさん
2009/10/09(金) 20:48:48本買おうかな・・
0157デフォルトの名無しさん
2009/10/09(金) 20:53:31今すぐ、ここを出て行きますから許してください
0158デフォルトの名無しさん
2009/10/09(金) 20:53:39hsp\sampleにあるやつ。
HSPTVからもデモみれたとおもうが。
0159デフォルトの名無しさん
2009/10/09(金) 20:57:100160デフォルトの名無しさん
2009/10/09(金) 21:00:35いいですね。
でもHSPって低脳がやってるイメージがあるし、やっぱりやめようかと考えてます。
・・・でもやっぱりHSPから入ったほうがいいですかね・・?
最終的には3Dのゲーム製作なんですが・・
0161デフォルトの名無しさん
2009/10/09(金) 21:06:49堀井雄二はドラゴンクエストの制作者だが、
本人はプログラム出来ないし、どんな言語で作られてるかも知らないだろう。
ゲームの面白さは言語に依存しない。
0162デフォルトの名無しさん
2009/10/09(金) 21:08:080163デフォルトの名無しさん
2009/10/09(金) 21:12:05九州の会社だろ。
合併して人材豊富と思うが。
0164デフォルトの名無しさん
2009/10/09(金) 21:13:05重要なのはアイディアですね
ゲームに一番向いてる言語とかあります?
つまり
どの言語でもゲームは作れるし、大差はないってことですか?
0165デフォルトの名無しさん
2009/10/09(金) 21:14:56確かにC言語の衰退は避けられない事実です。
- それはどうしてですか
趣味でC言語を体得しようとするプログラマがいないからでしょうね。
- 会社で使ってるのに趣味で使いたくない?
そうでしょうね。
そもそもC言語は生産効率向上には寄与しなかったと言う事実があります。
仕様書を噛み砕くだけの、馬耳東風な感覚では愛着が湧かないでしょう。
- 将来的にCプログラマは切り捨てられる?
すでに旧来のCプログラマは他の言語に移管してると思います。
職業的にもCでは使えない状況ですし。
- 加速するIT化に対応できないと言うことですか。
他の言語群がCを包括的に上回っています。
- BASIC言語の台頭の可能性はあると思いますか。
あるでしょうね。
言語仕様が簡素化されて生産効率が上がれば可能性はあると思います。
- かつてCはBASICより速い実行コードを生成すると自慢していましたが。
それは過去の幻想でしょうね。
0166デフォルトの名無しさん
2009/10/09(金) 21:16:08知能指数が低そうだから、知能指数が低そうなスレ選んでやったのもわからないくらい知能指数低いの?
0167デフォルトの名無しさん
2009/10/09(金) 21:17:28日本は封建主義的な社会ですので外来種は常に跳ね返す癖が付いています。
- しかし昨今の世相を見渡しますと、食料品から政権交代までダメなものは国産品でも跳ね返しますね(笑)
確かに、実際に機能しないものは実力行使で跳ね返す癖も付いてきたと言えますね。
- そもそもDarkBASICのユーザー層はどこに重点を置いているのですか。
従来の複雑なWindowsAPIに依存しない、手軽で簡素な3Dプログロミングを楽しめるところでしょうね。
これがかなりのウェイトを占めていると思いますし、Linuxのユーザー層にも移管しやすい好材料です。
- APIはそんなに複雑ですか。
いったん理解すれば難しくはありませんが、ある程度の学習とノウハウ蓄積が必要になります。
これが初心者にとっては大きな障壁になります。
- DarkBASICが日本で注目されるようになったのはいつ頃でしょうか。
まだ注目されていません(笑)
DarkBASICを好んで使うと予想されるユーザー層は、現在のところHSPを使っています。
- HSPはフリー(無料、無償)で3Dプログラミングが可能な簡易言語として広く認知、普及していますね。
HSPは国産のプログラミング言語で、API、DLLを組み合わせて広範な3Dプログラミングが可能です。
中学生程度でも柔軟に使いこなしている実例があります。
- ではDarkBASICは日本での必要性を感じないのでは?
ところがそうではない情勢なんですね。
0168デフォルトの名無しさん
2009/10/09(金) 21:17:47まともなプログラミング言語は速度の差こそあれ
「出来ること」は全て同じであることがわかっている
0169デフォルトの名無しさん
2009/10/09(金) 21:20:000170デフォルトの名無しさん
2009/10/09(金) 21:20:08すぐ噛み付くあんたも知能指数低い
0171デフォルトの名無しさん
2009/10/09(金) 21:30:40簡単テトリスはHSP
0172デフォルトの名無しさん
2009/10/09(金) 21:32:53時間が無限に使えれば、アセンブラでもコボルでもフォートランでも3Dゲーム作れるだろ。
ハードウェアにアクセスする部分は、言語単体では無理かもしれないが。そこは自作すれば。
一番、自分がやることが少なくて3Dの勉強になるのは、HSPと思う。
0173デフォルトの名無しさん
2009/10/09(金) 21:33:05堀井雄二はプログラミング「できた」よ。
旧エニックスのホビープログラミングコンテストの佳作獲ったのが縁で
ドラクエ作ることになったんだから。
もちろん、現代のゲームプログラミングの技術を、現役のマと同レベルで
理解しているはずはないけど、言語もわからないような全くのプログラミング音痴ではない。
特に初期ドラクエはメモリ容量との戦いで、あと1KB削るために、1000センテンスある台詞から
平均1文字ずつ削っていったとか、そういう開発してたらしいから。
ディテールは分からずとも、ゲームを組むということの大まかなフィーリングを
マと共有することはできるはずで、それって本当の未経験者にはできない大きなことだと思う。
0174デフォルトの名無しさん
2009/10/09(金) 21:39:27>>173の言うとおり堀井は全くのプログラム音痴なわけじゃない
0175デフォルトの名無しさん
2009/10/09(金) 21:40:540176デフォルトの名無しさん
2009/10/09(金) 21:52:31チュンソフトは敵対的買収されたの? 経営難だったの? 買収されるとは意外だった。
0177デフォルトの名無しさん
2009/10/09(金) 21:58:17ところがそうではない情勢なんですね。
- 具体的にはどういった情勢なんですか。
人的負荷(Human-overhead)の問題を回避できない背景があります。
- 分かりやすく解説して下さい。
ヒューマンオーバーヘッド(以下H.O.H.)の問題は、1つのプログラムを作成する場合に、1つの言語やプラットホーム
の知識だけではなく、複数に跨る言語やプラットホームの知識を必要とする場合によく発生します。
- それがDarkBASICとどう関係するんですか。
DarkBASICはH.O.H.の問題を回避できるようにAPIやハードウェアの個体差を窺いながらプログラミングをする必要が
ありません。
もちろん、すべてではありませんが(笑)
- それはどのような場合に効力を発揮するのでしょうか。
3Dプログラミングにおいて抜群の生産効率を発揮するでしょうね。
- それはCやHSPでもAPIや外部のDLLを使えば簡単にできるでしょう?
確かにそのとおりです、しかしH.O.H.の問題は解決できません。
- 生産効率向上には何が必要なのですか。
体系的に簡素化された言語仕様、これに尽きますね。
0178デフォルトの名無しさん
2009/10/10(土) 00:05:20↓はコンパイルできるんですが、Widget()は左辺値を生じないので
コピーコンストラクタには右辺値が渡され、仮引数型にconstがないので
コンパイルできない筈では?
struct Widget {
Widget() {}
Widget(Widget&) {}
};
int main() {
Widget w(Widget());
}
0179デフォルトの名無しさん
2009/10/10(土) 00:09:05やっぱイテレーターのイテレーターかな
0180デフォルトの名無しさん
2009/10/10(土) 00:13:05const付けなかったらただのコンストラクタじゃん
0181デフォルトの名無しさん
2009/10/10(土) 00:18:37もし、VCなら警告レベルを4にして試してみよう。
0182178
2009/10/10(土) 00:27:39g++ 4.3.3 で -Wall でコンパイルしましたが特に何も出ません。
JISX3014の「8.5.3 参照」の「5 1)」に右辺値の参照適合に関する記述がありますね。
コピーコンストラクタは右辺値でも参照できるということでいいのかなぁ
0183デフォルトの名無しさん
2009/10/10(土) 00:33:360184デフォルトの名無しさん
2009/10/10(土) 00:36:410185デフォルトの名無しさん
2009/10/10(土) 00:40:25コンストラクタの呼び出しじゃなくて関数宣言(Widget を返し、Widget を引数にとる w という関数)だと解釈されてるんじゃないの?
0186178
2009/10/10(土) 00:42:41それだとコンパイルエラーが出たんですよ。
で、「コピーコンストラクタでは?」と試したところ異なる結果が出てここに相談に来た次第で。
「12.2 一時オブジェクト」の「5」の参照が一時変数に結合される場合に当てはまってるのかなぁ
0187デフォルトの名無しさん
2009/10/10(土) 00:42:43Widget w((Widget()));
にして試した。
0188178
2009/10/10(土) 00:44:18読み間違えました。
0189185
2009/10/10(土) 00:46:42「引数なしで Widget を返す関数へのポインタ」を引数にとり、Widget を返す w という関数
Widget w((Widget()));
これでお望み通りエラーが出ると思う。
「C++で最も奇妙な解析」(Effective STL 第6項)ってやつ。
0190178
2009/10/10(土) 00:53:04試しにメンバ変数xを追加してw.xをアクセスすると怒られますね。
./test.cc:11: error: request for member ‘x’ in ‘w’, which is of non-class type ‘Widget ()(Widget (*)())’
Effective STL 読んで勉強してきます。どうもでした。
0191デフォルトの名無しさん
2009/10/10(土) 09:32:14確かにそのとおりです、しかしH.O.H.の問題は解決できません。
0192161
2009/10/10(土) 10:33:560193デフォルトの名無しさん
2009/10/10(土) 10:41:35ここ行って掲示板や、メールして話聞いてくるとか?
このテトリスは良い出来してる。
http://maruchu.nobody.jp/soft/
0194デフォルトの名無しさん
2009/10/10(土) 11:52:37※パソコン(゜Д゜)ぶっ壊れた
0195デフォルトの名無しさん
2009/10/10(土) 11:58:54おれも、壊れた・・・orz
0196デフォルトの名無しさん
2009/10/10(土) 12:01:550197デフォルトの名無しさん
2009/10/10(土) 13:41:150198デフォルトの名無しさん
2009/10/10(土) 13:43:060199デフォルトの名無しさん
2009/10/10(土) 14:11:540200デフォルトの名無しさん
2009/10/10(土) 14:12:350201デフォルトの名無しさん
2009/10/10(土) 15:21:160202デフォルトの名無しさん
2009/10/10(土) 15:27:13なぜここにいるの・・・?(´・ω・)
0203デフォルトの名無しさん
2009/10/10(土) 15:55:150204デフォルトの名無しさん
2009/10/10(土) 16:01:210205デフォルトの名無しさん
2009/10/10(土) 18:15:100206デフォルトの名無しさん
2009/10/10(土) 20:44:520207デフォルトの名無しさん
2009/10/10(土) 21:02:060208デフォルトの名無しさん
2009/10/10(土) 22:25:46(・V・) (ははははは)
p(^−^)q (ヒャ〜 おもしれ〜)
(>、<) (応援ヨロシクっ!)
(M) (マリオが大好きだよ)
(・○・) (鼻がカユイ)
(^U^) (だーい満足)
(^板違い^) (板違いですよ〜)
(==) (最近ゲームつまんないですね)
(l l) (悲しいよ〜)
(・w・) (パズルゲームが好きです)
(’’) (カービィが大好き)
使用例
>>○○
そうですね。(==)
でもマリオなんてどうでしょう?(M)
僕は満足でしたよ。(^U^)
あ、なんか鼻がむずむずしてきた。(・○・)
すみません。
(・V・)
みんなどんどん使ってくださいねー。(>、<)
0209デフォルトの名無しさん
2009/10/10(土) 22:28:190210デフォルトの名無しさん
2009/10/10(土) 22:31:570211デフォルトの名無しさん
2009/10/10(土) 22:51:30(;ω;)
;}
0212デフォルトの名無しさん
2009/10/11(日) 00:07:10( "ω" )
;}
0213デフォルトの名無しさん
2009/10/11(日) 03:12:570214デフォルトの名無しさん
2009/10/11(日) 10:29:45走らすみたいなことってできますか?
スレッドプールを使うしかないような気がするのですが詳しい方教えて。
0215デフォルトの名無しさん
2009/10/11(日) 10:44:13でなければ、begen_threadexを使ってthreadクラスを作る。
0216214
2009/10/11(日) 11:11:57ローカルスコープでnewして放置はc++ではできないですよね。
すると上位スコープにboost::threadオブジェクトのポインタをshared_ptr等で持っておく必要になるかと。
そうなると次回に同じローカルスコープでboost::threadがnewされたときに前回のオブジェクトをjoinして待たねばならない?
join後に新規オブジェクトとswapするような実装だと、ちょっと違うかなと思うのですが。
0217デフォルトの名無しさん
2009/10/11(日) 11:45:420218214
2009/10/11(日) 11:49:550219デフォルトの名無しさん
2009/10/11(日) 12:26:46newして放置というのは、C++では好ましくないと思うよ。
0220214
2009/10/11(日) 13:13:40それをやるとしたらthread_groupは内部で監視用のスレッドを立てているか抱えるthreadとsignal/slotで接続されているかだと思う。
さっきから初心者と思われる人がレスしてくれているけど・・・。
0221デフォルトの名無しさん
2009/10/11(日) 13:15:49どうしてでしょうか。
簡単で手軽、誰にでも学習の機会があることでしょうね。
CやHSPだとこうはいきません。
CやHSPだとAPIのノウハウが必要になりますし、それは大きな障壁となります。
0222デフォルトの名無しさん
2009/10/11(日) 13:22:29DarkBASIC厨うざい
こんな所にまで誤爆すんな
0223デフォルトの名無しさん
2009/10/11(日) 13:23:14確かにそのとおりです、しかしH.O.H.の問題は解決できません。
0224デフォルトの名無しさん
2009/10/11(日) 13:31:24じゃあ、ためしてみれ
0225214
2009/10/11(日) 14:15:02何で試さなきゃいけなかったのw?
0226デフォルトの名無しさん
2009/10/11(日) 14:31:440227デフォルトの名無しさん
2009/10/11(日) 14:55:32boost::threadのデストラクタはdetachするだけで、実行中のスレッドが強制的に終了させられることはないよ。
それが嫌なら、boost::this_thread::at_thread_exitでも使ってスレッド終了時にdeleteするようにするのはどう?
0228デフォルトの名無しさん
2009/10/11(日) 14:56:24...
{ // local scope
boost::thread(f).join();
}
newなんてどこから出てきた?
0229デフォルトの名無しさん
2009/10/11(日) 15:16:490230デフォルトの名無しさん
2009/10/11(日) 15:34:22ようするに214は、そこでjoinしたくないだけだと思う。
newは216で初出。まさかとは思うけど、Javaとか言っているし、
クラスオブジェクトを自動変数にできることを知らない可能性があると感じた。
0231デフォルトの名無しさん
2009/10/11(日) 16:48:320232デフォルトの名無しさん
2009/10/11(日) 16:59:00スレをざっと読んで、C++がプログラミング言語だということは理解できました。
JAVAもプログラミング言語でしょうか、それともダイレクトXのようなアプリケーションなのでしょうか?
0233デフォルトの名無しさん
2009/10/11(日) 17:03:240234デフォルトの名無しさん
2009/10/11(日) 17:06:13スレ違いです。その質問は以下へどうぞ。
スレ立てるまでもない質問はここで 101匹目
http://pc12.2ch.net/test/read.cgi/tech/1254843018/
0235デフォルトの名無しさん
2009/10/11(日) 18:53:500236デフォルトの名無しさん
2009/10/11(日) 19:28:480237デフォルトの名無しさん
2009/10/11(日) 19:34:360238デフォルトの名無しさん
2009/10/11(日) 19:41:470239デフォルトの名無しさん
2009/10/11(日) 20:46:11>さっきから初心者と思われる人がレスしてくれているけど・・・。
>何で試さなきゃいけなかったのw?
人に聞く態度じゃねーだろw
どっちが初心者だよ(;´Д`)
0240デフォルトの名無しさん
2009/10/11(日) 21:09:17C++/CLIを使い続けることに疑問を感じてしまった
0241デフォルトの名無しさん
2009/10/11(日) 21:13:330242デフォルトの名無しさん
2009/10/11(日) 21:14:16乗り換えるとか言ってる奴は同時に使える言語が一個しかないの?
0243デフォルトの名無しさん
2009/10/11(日) 21:17:15T min<T>(T lhs,T,rhs)が作れねえorz
typedefがねえorz
0244デフォルトの名無しさん
2009/10/11(日) 21:20:49typedef std::vector< A > A_collection;
が出来ないだっけ?
だとしたら致命的だったりする。
0245デフォルトの名無しさん
2009/10/11(日) 21:23:480246デフォルトの名無しさん
2009/10/11(日) 21:24:53C++03にtypedefテンプレートがない事にさえ相当苛ついてるのに
C#に移行したら発狂するな。
早く0xに開発環境移行したいよー。
0247デフォルトの名無しさん
2009/10/11(日) 21:26:35そうできないんだ。typedefがないからA_Collection::value_typeのようなこともできないんで、Aを明示しないといけない。
かなり苦戦する。
0248デフォルトの名無しさん
2009/10/11(日) 21:32:360249デフォルトの名無しさん
2009/10/11(日) 21:51:22手広くやってる余裕あるか? ふつー
自らのポテンシャルの限界を晒すようでアレだが
歴史上の各時点では1言語だけ突出してて他は教養程度にならざるを得ない
0250デフォルトの名無しさん
2009/10/11(日) 21:56:31解決のヒントを多く持っておくのは悪いことではないよ。
0251デフォルトの名無しさん
2009/10/11(日) 22:13:000252デフォルトの名無しさん
2009/10/11(日) 22:14:37そこが最大の欠点
■ このスレッドは過去ログ倉庫に格納されています