X



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

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

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

何からすればいいんだ?おしえてくだちい。
0282デフォルトの名無しさん
垢版 |
2014/05/28(水) 03:02:40.35ID:1yf3kB3k
>>281
> 基底クラスを型にして派生クラスを生成する
この時点で絶望的なまでに話を読み違えてるというか、
読み違えすぎてて意味不明になってるのに気が付いて。

正しくは、生成した派生クラスのインスタンスを基底クラスの型にキャストした状態で破棄すると問題が起きる。
0284281
垢版 |
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 使うの?
0285デフォルトの名無しさん
垢版 |
2014/05/29(木) 12:02:32.55ID:GJ6Azonc
オブジェクト指向の為の機能を使うんだから当然、多態性位は知ってるだろ?
多態性を実現するにあたって基底クラスのポインタを用いて書かれたコードを、
一々派生クラスの数だけコピペして派生クラスの型を使うように書き直すのか?

例えばの例だが、Log *log=CreateLogFile(argc,argv);とかなってて、
起動オプションに「-log ファイル名」がない場合はログをコンソールに吐く設計とか。
(Logクラスはコンソールにログを吐き、FileLogクラスはLogの派生でファイルに吐く)
FileLogはファイルを開くので、デストラクタを実行しないとファイルが閉じられない。
0290 ◆QZaw55cn4c
垢版 |
2014/05/31(土) 16:49:07.24ID:eTy5fHBW
>>287 >>288
でも,C++ の virtual にしても,実装に負担をかけてアルゴリズムの記述化を容易にする,という立場だよね,それに反感を感じるというには一定の理解がないわけでもない,linus とかがそういう立場だったね
いやストロヴストルップも極力実装に負担をかける方向を避けているのは理解できるのだが‥‥なんだかその苦労が理解されていないような気がする‥‥

ごめん何も考えていないLLは論外だと思っています
0295デフォルトの名無しさん
垢版 |
2014/05/31(土) 19:29:50.92ID:PqKUKu7D
>>294
明示的なインタフェイスを介してないってだけで、
テンプレートはまんま多態性の一例だと思うが。
静的なダックタイピング。
インタフェイスを介すコストは減るけど、
代わりにコード量コストが跳ね上がる、のが大抵。
0296デフォルトの名無しさん
垢版 |
2014/06/01(日) 00:06:45.10ID:0/8fjulz
今は組み込みでもWindowsが主流になって来ている
C、C++なんて今から勉強しても使い物になる5年後には無くなってるから意味ない
やめておけ
既に習得しているならまだ数年は使えるからいいけど
0298デフォルトの名無しさん
垢版 |
2014/06/01(日) 00:41:38.40ID:pBUf1mh0
>>296
Windowsが乗るほどのPCを使う用途は兎も角、そうでないケースでは
寧ろ、SBCの性能が上がってLinuxが乗るのが当たり前になってきている。
0299デフォルトの名無しさん
垢版 |
2014/06/01(日) 09:44:12.52ID:nKywzM47
で、それらのOSは何で書かれてるのかと

つかC/C++を学ぶことは他の言語の理解の助けにこそなっても、
他の言語を習得する妨げになるわけじゃないんだけどな……
わざわざ学ぶことまで否定する奴ってなんなんだ
自分が理解できなかったから他人の足引っ張るための方便とか?
0300デフォルトの名無しさん
垢版 |
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();

したときと
同じに動いているように見えるおですが
何が違うんでしょう?
あとどういうときに使い分けるんでしょうか?
0301 ◆QZaw55cn4c
垢版 |
2014/06/01(日) 12:25:45.02ID:iF6nhgL2
>>298
linux の GPLライセンス(特に v3 )はすでに企業側では問題になっているかと
個人的には RMS の GPL はその体臭の強さで支持を失ってきているかと

はやく Hurd を完成させろ馬鹿
0302 ◆QZaw55cn4c
垢版 |
2014/06/01(日) 12:27:50.36ID:iF6nhgL2
>>296
たしかに組み込みC#が浸透しつつあるし,あの意味不明な VM も見切りがつけられてネイティブが吐かれるようになるご時勢だ
しかし C# を C# で記述できるようになるまでは C/C++ の地位は不動だな
0303デフォルトの名無しさん
垢版 |
2014/06/04(水) 17:24:26.17ID:2ij5JthN
RT >300
0304デフォルトの名無しさん
垢版 |
2014/06/05(木) 05:08:19.66ID:eNN+A39U
>>300
前者がアナクロな書き方。コーディング規約などで制限されていなければ、
後者で書けばいい。
0306デフォルトの名無しさん
垢版 |
2014/06/05(木) 08:08:55.69ID:eNN+A39U
>>305
規格化されている。つーか、そのくらいの検索もできない?
まぁ、厳密なことが知りたいってことなら規格に五月蠅いスレにでも。
0310デフォルトの名無しさん
垢版 |
2014/06/05(木) 19:23:06.20ID:TQjTzfj7
規格化される前の規格に準拠した環境との互換性を維持するため、
より新しい規格で追加された機能の仕様を禁止するとかあるんじゃね。
ヘッダファイルは標準ライブラリの物であっても.hのものしか使用禁止とか。
//コメント禁止ルールみたいなやつ。

いやそもそもそっちは非標準じゃねーか、より互換性低いほう選んでどうすんだとか、
既に環境依存しまくりなのに現行で使える機能制限しても意味ねぇだろとか、
そういうツッコミが通用しない糞な場所はまだ絶滅してないだろうからなぁ…
0312ひとりIT部門
垢版 |
2014/07/02(水) 18:58:58.02ID:4NmydD4w
GetActiveObject をC++で使う方法がわかりません。

基本的なことも調べても何が何だかわかりません。

一応、自分で作ったプロジェクトから、エクセルなどを動かすためのインターフェイスと理解しましたが、合っていますでしょうか。
このGetActiveObjectをどう使って、実現するのでしょうか。
http://hippos-lab.com/blog/node/103
を参照したのですが、理解できませんでした。

実現したいのは、
http://www.megasoft.co.jp/3d/sdk/#page_require
です。

ご教授お願いします。
0313デフォルトの名無しさん
垢版 |
2014/08/18(月) 11:49:33.74ID:0GH1txVb
そのマイホーム何とかを自作アプリから使えればいいんかいな
Excel+VBA で同じようにCOM経由で操作するのはできているとみていいのか

ならば VCの機能(無償版ではダメかも)で
C++/MFC用のヘッダ・ラッパーlibを生成させれば
普通のクラスライブラリと同じような感覚で使える
これが出来れば半分済んだようなもの
キーワードは「タイプライブラリ」

厄介なのは「どのファイルにタイプライブラリが格納されているか」が
標準化されてないので相手のソフトごとに探す必要がある
*.tlb, *.ocx, *.dll, *.exe などのどれか1つにまとまってることが多い

マニュアルかなにかで"regsvr32" の記述があればそこに書いてあるファイル名で明解
0314デフォルトの名無しさん
垢版 |
2014/08/18(月) 18:53:41.85ID:ArWtLEqw
>>313
2つめのリンク先がそのアプリのSDKのマニュアルそのものだから、
マニュアルに必要なことはひと通り既に書かれてるんだよなぁ……
サンプルの入手方法は不明だけど、C++のサンプルもついてるし。

これとは関係ない「何らかのプログラム」を自動化したいって話なら、
先にそのプログラムがCOM提供してるかどうか確認しておかないと。
稀に http://toro.2ch.net/test/read.cgi/tech/1389873912/45,62
みたいになんでもCOMで操作できると誤解してる人が居るけど、
COMで自動化は相手がそれ前提の作りじゃないと普通は意味が無い。
0315デフォルトの名無しさん
垢版 |
2014/10/06(月) 22:19:44.67ID:tIlHofLk
今 数独を解くプログラムを趣味で作ってます。
0316デフォルトの名無しさん
垢版 |
2014/10/07(火) 06:22:15.44ID:FEWSCUR/
それって、総当たりで試行錯誤なら作るのも簡単なら実行するのも速くて詰まらないような。
まじで人間が解くようにXWingとかSwordfishのアルゴリズムを導入すると、今度は難易度跳ね上がるし。
0317デフォルトの名無しさん
垢版 |
2014/10/07(火) 08:50:35.87ID:nFAJZCFr
1)縦横のそれぞれの列に1〜6の数字が1つずつ入ります(ここは数独と同じ)
2)マス目にあらかじめ入っている(数字)は太線で囲まれたブロックに入る数字の合計を表しています
3)太線で囲まれたブロックの中には同じ数字が入ることもあります

┏━━┳━━┳━━┳━━┯━━┳━━┓
┃(3) ┃(4) ┃(13)┃(5) │  ┃(8) ┃
┠──┣━━┫──┣━━┳━━┫──┨
┃  ┃(7) ┃  ┃(1) ┃(7) ┃  ┃
┣━━┫──┃──┣━━┫──┣━━┫
┃(11)┃  ┃  ┃(7) ┃  ┃(6) ┃
┠──┣━━┻━━┫──┣━━┻━━┫
┃  ┃(6) │  ┃  ┃(6) │  ┃
┣━━┻━━┳━━┻━━╋━━┳━━┫
┃(9) │  ┃(6) │  ┃(4) ┃(3) ┃
┣━━┳━━┻━━┳━━┻━━┫──┨
┃(4) ┃(5) │  ┃(11)│  ┃  ┃
┗━━┻━━┷━━┻━━┷━━┻━━┛

これを解くプログラムをおながいします
(たぶんずれるので等幅フォントのエディタにコピペで見てください)
0318デフォルトの名無しさん
垢版 |
2014/10/07(火) 13:59:25.19ID:7oH3YfD5
>>316
普通にスラスラ解ける手法をロジックに起こすだけで大変でございますw
まずはその程度のプログラムをしこしこ作ってます。
XWingも知ってはいますが、使った事がありません。
単純にクラスを作って、その中で解法のメンバ関数をやってるだけで
全然C++じゃないなぁとw
0319デフォルトの名無しさん
垢版 |
2014/10/07(火) 14:56:35.68ID:83CrqE+A
>>317
足し算を使うパズルなら、ニコリのカックロがある
漏れはたった今、本を買ってきたところ

>>318
数独の本を買うと、最初に解き方のコツが書いてあるので、
それをアルゴリズムにすればよい

他には、お絵かきロジック(パクロス)のアルゴリズムを作る本は、
図書館で読んだ
0320デフォルトの名無しさん
垢版 |
2014/10/07(火) 17:23:27.72ID:Llrlehhk
>>318>>319
「矛盾をチェックするだけの深さ優先総当りで十分解けてしまうので
人が解くときのアルゴリズムを正直に実装するほうが手間かかるよ」
ってのが>>316の意見だと思うの。
0321319
垢版 |
2014/10/07(火) 17:56:24.00ID:83CrqE+A
例えば、確定している数字が多いものから、
試すだけでも、計算量が減る
1が3つ、2が4つ確定している際、2から試す

9マスのエリアでも、確定しているマスが多いエリアから試す
行や列でも、確定しているマスが多い、行・列から試す
0323デフォルトの名無しさん
垢版 |
2014/10/07(火) 18:52:06.91ID:7oH3YfD5
将棋ソフトを作る人って凄いよなぁってまじ思う。
0325デフォルトの名無しさん
垢版 |
2014/10/08(水) 01:23:37.20ID:xPosFQ45
簡単な数独ロジックでもいざコードでやろうとすると難しい。
これも実力だわなぁ
0327デフォルトの名無しさん
垢版 |
2014/10/08(水) 10:08:37.84ID:SfZJBG4v
>>321
総当たりにせよ思考アルゴリズムにせよ
実行CPU速度等の同一条件下で
最短時間で解けるものが一番優秀なら
コンテストでもやればいい
0328デフォルトの名無しさん
垢版 |
2014/10/08(水) 10:49:02.97ID:umcRRgPC
どう考えても総当たりの圧勝。
最も難しいと言われた、純粋に論理の積み重ねだけだと数学者でも一週間掛かると言われた問題だって一瞬だ。
0329デフォルトの名無しさん
垢版 |
2014/10/08(水) 11:57:59.89ID:P6WfsOfK
総あたりなら平均ほぼ一定時間で回答できそうだよな

逆に問題作るときに人間的思考だと時間が掛かってしまうような問題の作り方に興味あるわ
0330デフォルトの名無しさん
垢版 |
2014/10/08(水) 13:02:36.82ID:umcRRgPC
>>329

それもだけど、「新聞なんかに載っているのよりは難しいけど、気違いじみた思考を使わなくても解ける」
辺りの難易度にコントロールできたら凄いと思う。
つーか、欲しい。
0331319
垢版 |
2014/10/08(水) 15:09:55.38ID:WR+D1wBU
数独・カックロでも難易度が高いものは、
確定できるマスが盤面に、1つしかない場合がある

総当たりして、1つ確定
総当たりして、また1つ確定
総当たりして、また1つ確定

こうなると、大変

その際、確定したマスの、同じ(3*3の)エリア内、
同じ行・同じ列から調べると、速く解ける
0332デフォルトの名無しさん
垢版 |
2014/10/08(水) 15:26:35.49ID:3Gg8s7gO
>>329
人間が解くときに意識的・無意識的に使う解法を全て実装して、
使用頻度の低い解法や意識的に適用しても時間の掛かる解法でしか
進行できない部分が沢山出るようにすれば回答時間は伸びると思うけど…

>>321>>331
その程度の事は分かってる上で、「機械に解かせるなら」
何も工夫しない総当りで十分って話だと思うんだけど…
計算量だけを最小化するなら各種解法も実装しなきゃ
0333デフォルトの名無しさん
垢版 |
2014/10/08(水) 16:37:27.50ID:xPosFQ45
結局 総当たりで解けるからあえてやるほどの事はないって事か。
ただプログラムの練習には最適かと。
0335デフォルトの名無しさん
垢版 |
2014/10/08(水) 17:38:19.53ID:umcRRgPC
人が解くと難しくないのに、プログラムで解こうとすると地味に面倒なところではピクロスとかどうよ。
0338デフォルトの名無しさん
垢版 |
2014/10/10(金) 11:32:39.47ID:S4zkvAXY
ほんとはC++1zで書きたかったけど早々にあきらめマスタ
あと、結果出力が転置行列になってたのはごめんなさい
0341デフォルトの名無しさん
垢版 |
2014/10/15(水) 11:34:13.10ID:Wv8/cRcL
人間にとって難しい問題にするには、アルゴリズムで解いた場合にバックトラックのコストが高くなる配置にすればいいんじゃないかな

ちなみに gnome_sudoku では100回ランダムに問題を作成して、都度難易度が期待値を上回るかどうか測定している。
↓の generate_puzzle_for_difficulty()@173行目
http://gnome-sudoku.cvs.sourceforge.net/viewvc/gnome-sudoku/gnome-sudoku/src/lib/sudoku_maker.py?view=markup

難易度の測定方法は、何も考えずに埋めれるマスの数、考えられる組み合わせの中から外れを引く割合などを重み付けして定量化。
(経験則っぽい...)
↓の DifficultyRating クラス@597行目
http://gnome-sudoku.cvs.sourceforge.net/viewvc/gnome-sudoku/gnome-sudoku/src/lib/sudoku.py?view=markup
0342デフォルトの名無しさん
垢版 |
2014/12/03(水) 22:41:22.59ID:tpg12/9f
 
0343デフォルトの名無しさん
垢版 |
2015/02/19(木) 02:28:37.73ID:5auBdrhP
 
0344デフォルトの名無しさん
垢版 |
2015/02/19(木) 03:08:56.71ID:lDFiAK4+
今、ニコリのカックロの解法を考えている

2マスで合計4なら、1+3
3マスで7なら、1+2+4

1通りに決まる箇所から、解いていく

2マスで15なら、6+9, 7+8 の2通り考えられるから、
簡単には解けない
0345デフォルトの名無しさん
垢版 |
2015/02/19(木) 04:24:26.43ID:Zav6JYk5
概出
隣のスレに解探索ツールのソース上がってる
0346デフォルトの名無しさん
垢版 |
2015/04/08(水) 00:52:40.41ID:51Wd8GKc
  
0348デフォルトの名無しさん
垢版 |
2015/06/05(金) 04:34:01.59ID:UT3b9sCy
  
0349デフォルトの名無しさん
垢版 |
2015/09/02(水) 17:05:57.86ID:DQQjJ9NG
どんなの作りたいの?
0350デフォルトの名無しさん
垢版 |
2015/11/03(火) 21:22:59.51ID:hk+PiOLT
かいて
0351デフォルトの名無しさん
垢版 |
2015/11/09(月) 23:47:15.20ID:Ic86OKZ8
midiのピアノロールを作りたいです。何から手をつけていいかアドバイスお願いします。
0352デフォルトの名無しさん
垢版 |
2015/11/10(火) 00:07:14.95ID:JNgrRRaR
どのように使うのですか
0353デフォルトの名無しさん
垢版 |
2015/11/10(火) 00:28:05.30ID:S25c4ZWG
一般的なMIDIファイルを作りたいのですが、ある程度作成のパターンが決まっているので、必要な部分だけを自分で調整できるようにしたいのです。ソフト開発はやったことがないのですが、ウィンドウ作成とか基本はできると思います。
0354デフォルトの名無しさん
垢版 |
2015/11/10(火) 02:29:16.60ID:JNgrRRaR
どんな材料からどんな手順で使うのかをまずイメージしないと
これ以上はレスないでしょう。
C++は単なる言語です。このスレも意味があるのかどうか。
0356デフォルトの名無しさん
垢版 |
2015/11/10(火) 12:54:33.31ID:OltAlXwR
>>355
ありがとうございます。
MIDIのファイル形式を操るGUIを作るとピアノロールになるってことですかね?
ピアノロールの表示部分とその場での再生の仕組みがわかればと思っています。
0360デフォルトの名無しさん
垢版 |
2016/03/29(火) 09:54:31.33ID:/c8bAcK4
サッカーブッシュ日本代表日程ぷあたん(しゅっちょうまいくろ教育長交代)春文執行40代売上差額シュガーチョコ
https://www.youtube.com/watch?v=NDq1QoJY0nY宇ドナルドアナリストパワーストーンコーチングとしまえん
サッカーブッシュ日本代表日程古本屋よしたけしゅっちょうちょこしゅがー
ディーラー税務署天才開発者死亡詰みヨミドクターマイクロサービス不足
サッカーブッシュ日本代表日程ぷあたんシフト光金さかい強制バイト人権侵害問題
春分資源執行ニューヨーク低原価ぼったステーキソルトレイク福岡横浜新橋奴隷課金パチシフト強制バイト問題新潟米センター生残
コスメ24チャリティー隠れ40代生活保護プレイボーイバイトレードいたりあん接待問題
マスコミKARDローンケーオーサービス不足婚活パーティー寄付金執行原発ビジネス
FBIチャイニーズタイホテル売上事務所ガチャ決算ガチャキャンペーン(販売報道陣過激派組織向携帯最新情報提供終了
校長発言細心注意ノートン産廃エラー(著作権クレーム中国反応融資高額教育費)(中国捕鯨団体40代社員サッカーコメント
高額入学金ヤフウ新橋大学ヤフウ新橋理事長FX経費 おじや50代資産ガリバズフィード40代エリート
■ このスレッドは過去ログ倉庫に格納されています

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