[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 06/16 02:43 / Filesize : 202 KB / Number-of Response : 823
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C++相談室 part95



1 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 04:55:24.99 ]
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレに
お願いします。

前スレ
C++相談室 part94
toro.2ch.net/test/read.cgi/tech/1329512856/

このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.78【環境依存OK】
toro.2ch.net/test/read.cgi/tech/1331894668/

■長いソースを貼るときはここへ。■
 codepad.org/
 ideone.com/

784 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 00:25:59.51 ]
template <typename T> typename std::enable_if<std::is_base_of<Hoge, T>::value, T>::type getObject(){return T();};

こうだろ

785 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 00:28:09.48 ]
enabled_ifはキモいなあ
今回はたまたま戻り値の型でしかTが使われてないけど
2箇所以上で使われている場合に
1箇所だけenabled_ifってのも何かバランス悪いし

786 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 00:28:38.38 ]
enable_ifだよ
ミスったよ

787 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 00:41:45.51 ]
boostなんて実用はありない
あんなのヲタが使うもの

ソースが汚くいことこの上ない

788 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 00:47:04.52 ]
自分が使いこなせないからってライブラリのせいにする人はちょっと…

789 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 00:53:53.73 ]
>>784
今さっきなんとなくわかりました。長いのは戻り値だったんですねー…

Boostをインストールしてみて、
きびしそうなら別の方法を執ってみます。
みなさんわざわざありがとうございました。

790 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 00:56:23.34 ]
>>788
使いこなせないとどこに書いてあるんだ?

脳内補完もここまで来ると感服だなw

791 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 02:38:33.34 ]
STLにTree構造データないのは何故だ

792 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 03:04:06.37 ]
Setは?



793 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 04:11:05.53 ]
ありない
ありない
ありない

汚くい
汚くい
汚くい

794 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 06:05:26.57 ]
>>780
そんな事するんだったらconst定数使った方がましじゃね?

template<const char *array> class Example;
namespace Keys
{
   const char alpha[] = "Alpha";
   const char beta[] = "Alpha";
}
Example< Keys::alpha > object;

>>782
template<class type> type Example::Function()
{
   type value;
   ExampleBase *base_check = &value; // 親子関係がなければコンパイルエラー
   return value;
}



795 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 06:27:38.53 ]
>>791
map, set, priority_qeueは内部的にtree使ってる
std::make_heapを使えば自前の二分木を楽に作れる

796 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 08:43:30.62 ]
class Object {};

class User
{
public:
User(std::shared_ptr<Object> o = std::make_shared<Object>())
: o_(o)

};

797 名前:796 mailto:sage [2012/06/14(木) 08:45:31.56 ]
すみません、記述途中で投稿してしまいました。
デフォルト引数にstd::make_shared〜とやると、make_sharedがglobal namespaceのメンバーでないとエラーが出てしまいます。
当然、using namespace std;を行うと、正しくコンパイルできるのですが、それはしたくありません。
どのように記述するのが正しいのでしょうか?

798 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 09:24:56.76 ]
VC++が悪い

799 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 10:06:41.32 ]
そのコンストラクタはデフォルト引数の指定無しにして引数なしのコンストラクタも書けばいいじゃないか

800 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 11:35:13.06 ]
こんなのはどう?
User(std::shared_ptr<Object> o = [](){return std::make_shared<Object>();}()) : o_(o) {}


801 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 11:44:08.99 ]
>>769
そもそも勉強用にMSVC使うってのが間違ってるだろ。
LLVM/clang使えばいろいろ捗るぞ。ここまで無料で高品質でライセンスの緩いコンパイラは珍しいし他にない。
本来ならば金の要らないLinux前提だしmingw入れればwindowsでも動くしな。

802 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 11:54:10.94 ]
Linux前提やクロス開発を考慮する場合はともかく
Windows前提ならmingw選ぶのは間違ってる



803 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 12:40:59.56 ]
windows使ってるならcygwin入れろ。
ファイル消せなくなって困るぞ。

804 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 12:45:48.23 ]
問題なのはcygwinを入れないとファイルが消せなくなるんじゃなくて
cygwinを入れたせいでファイルを消せなくなる点なんだよな。

805 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 12:49:49.76 ]
Windows前提をはずすのが一番って尊師が言ってた

806 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 13:30:06.78 ]
そりゃあ尊師はUNIXライク前提ですから

807 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 13:52:33.44 ]
cygwin()

808 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 16:22:24.28 ]
マハーポーシャでPC組んでLinux入れよう

809 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 18:03:24.84 ]
LinuxはTagジャンプをなんとかしろ
global.elとか仕様頻繁に換えんな

810 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 18:28:20.78 ]
カーネル開発者や鳥のメンテナにEmacsの文句言うのかー


811 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 19:22:16.79 ]
C++で、外部の.exeファイルを実行するにはどうすればいいですか?
使っているソフトはVS2010です

812 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 19:30:59.40 ]
>>811
【初心者歓迎】C/C++室 Ver.78【環境依存OK】
toro.2ch.net/test/read.cgi/tech/1331894668/l50



813 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 19:39:57.21 ]
環境依存でないsystemがあるじゃないかー
(使い方はある程度環境に依存はするけど)

814 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 19:41:19.39 ]
#include <cstdlib>
int std::system(const char*);

のことかな。

815 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 20:37:55.88 ]
>>811
単に実行するならexecとか
標準入出力の内容を操作したいならpopen/_popenを使ふ

816 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 22:05:13.07 ]
そんな環境依存の事を言われても・・・

817 名前:デフォルトの名無しさん mailto:sage [2012/06/15(金) 22:09:00.46 ]
popenか_popenどっちも持ってないなんて組み込み環境ぐらいだろ

818 名前:デフォルトの名無しさん mailto:sage [2012/06/15(金) 22:24:09.16 ]
規格に無いものは開発環境ごとのスレでやった方がいい

819 名前:デフォルトの名無しさん mailto:sage [2012/06/15(金) 22:26:06.03 ]
POSIXぐらい、半標準なんだからいいだろうに
標準ライブラリなんて元々POSIXのサブセットだぞ

820 名前:デフォルトの名無しさん mailto:sage [2012/06/15(金) 22:35:30.41 ]
pthreadsもここでやるのか?とか
あまり手広く広げてもなあ

821 名前:デフォルトの名無しさん mailto:sage [2012/06/15(金) 22:49:13.90 ]
posix名前空間が用意されたとはいえ
現状std名前空間にあるC関数もあんまり積極的には扱ってないだろ

822 名前:デフォルトの名無しさん mailto:sage [2012/06/15(金) 23:06:35.34 ]
C関数でないと無理なものはまあ扱わなくもない








[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<202KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef