12/06/14 00:56:23.34
>>788
使いこなせないとどこに書いてあるんだ?
脳内補完もここまで来ると感服だなw
791:デフォルトの名無しさん
12/06/14 02:38:33.34
STLにTree構造データないのは何故だ
792:デフォルトの名無しさん
12/06/14 03:04:06.37
Setは?
793:デフォルトの名無しさん
12/06/14 04:11:05.53
ありない
ありない
ありない
汚くい
汚くい
汚くい
794:デフォルトの名無しさん
12/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:デフォルトの名無しさん
12/06/14 06:27:38.53
>>791
map, set, priority_qeueは内部的にtree使ってる
std::make_heapを使えば自前の二分木を楽に作れる
796:デフォルトの名無しさん
12/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
12/06/14 08:45:31.56
すみません、記述途中で投稿してしまいました。
デフォルト引数にstd::make_shared~とやると、make_sharedがglobal namespaceのメンバーでないとエラーが出てしまいます。
当然、using namespace std;を行うと、正しくコンパイルできるのですが、それはしたくありません。
どのように記述するのが正しいのでしょうか?
798:デフォルトの名無しさん
12/06/14 09:24:56.76
VC++が悪い
799:デフォルトの名無しさん
12/06/14 10:06:41.32
そのコンストラクタはデフォルト引数の指定無しにして引数なしのコンストラクタも書けばいいじゃないか
800:デフォルトの名無しさん
12/06/14 11:35:13.06
こんなのはどう?
User(std::shared_ptr<Object> o = [](){return std::make_shared<Object>();}()) : o_(o) {}
801:デフォルトの名無しさん
12/06/14 11:44:08.99
>>769
そもそも勉強用にMSVC使うってのが間違ってるだろ。
LLVM/clang使えばいろいろ捗るぞ。ここまで無料で高品質でライセンスの緩いコンパイラは珍しいし他にない。
本来ならば金の要らないLinux前提だしmingw入れればwindowsでも動くしな。
802:デフォルトの名無しさん
12/06/14 11:54:10.94
Linux前提やクロス開発を考慮する場合はともかく
Windows前提ならmingw選ぶのは間違ってる
803:デフォルトの名無しさん
12/06/14 12:40:59.56
windows使ってるならcygwin入れろ。
ファイル消せなくなって困るぞ。
804:デフォルトの名無しさん
12/06/14 12:45:48.23
問題なのはcygwinを入れないとファイルが消せなくなるんじゃなくて
cygwinを入れたせいでファイルを消せなくなる点なんだよな。
805:デフォルトの名無しさん
12/06/14 12:49:49.76
Windows前提をはずすのが一番って尊師が言ってた
806:デフォルトの名無しさん
12/06/14 13:30:06.78
そりゃあ尊師はUNIXライク前提ですから
807:デフォルトの名無しさん
12/06/14 13:52:33.44
cygwin()
808:デフォルトの名無しさん
12/06/14 16:22:24.28
マハーポーシャでPC組んでLinux入れよう
809:デフォルトの名無しさん
12/06/14 18:03:24.84
LinuxはTagジャンプをなんとかしろ
global.elとか仕様頻繁に換えんな
810:デフォルトの名無しさん
12/06/14 18:28:20.78
カーネル開発者や鳥のメンテナにEmacsの文句言うのかー
811:デフォルトの名無しさん
12/06/14 19:22:16.79
C++で、外部の.exeファイルを実行するにはどうすればいいですか?
使っているソフトはVS2010です
812:デフォルトの名無しさん
12/06/14 19:30:59.40
>>811
【初心者歓迎】C/C++室 Ver.78【環境依存OK】
スレリンク(tech板)l50
813:デフォルトの名無しさん
12/06/14 19:39:57.21
環境依存でないsystemがあるじゃないかー
(使い方はある程度環境に依存はするけど)
814:デフォルトの名無しさん
12/06/14 19:41:19.39
#include <cstdlib>
int std::system(const char*);
のことかな。
815:デフォルトの名無しさん
12/06/14 20:37:55.88
>>811
単に実行するならexecとか
標準入出力の内容を操作したいならpopen/_popenを使ふ
816:デフォルトの名無しさん
12/06/14 22:05:13.07
そんな環境依存の事を言われても・・・
817:デフォルトの名無しさん
12/06/15 22:09:00.46
popenか_popenどっちも持ってないなんて組み込み環境ぐらいだろ
818:デフォルトの名無しさん
12/06/15 22:24:09.16
規格に無いものは開発環境ごとのスレでやった方がいい
819:デフォルトの名無しさん
12/06/15 22:26:06.03
POSIXぐらい、半標準なんだからいいだろうに
標準ライブラリなんて元々POSIXのサブセットだぞ
820:デフォルトの名無しさん
12/06/15 22:35:30.41
pthreadsもここでやるのか?とか
あまり手広く広げてもなあ
821:デフォルトの名無しさん
12/06/15 22:49:13.90
posix名前空間が用意されたとはいえ
現状std名前空間にあるC関数もあんまり積極的には扱ってないだろ
822:デフォルトの名無しさん
12/06/15 23:06:35.34
C関数でないと無理なものはまあ扱わなくもない