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


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

【初心者歓迎】C/C++室 Ver.77【環境依存OK】



1 名前:デフォルトの名無しさん mailto:sage [2011/12/12(月) 21:21:26.11 ]
エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。
※sage禁止です(と代々スレに書いてありますが自己判断で)。

【前スレ】
【初心者歓迎】C/C++室 Ver.76【環境依存OK
hibari.2ch.net/test/read.cgi/tech/1312621728/

◆ソースのインデントについて
半角空白やTABでのインデントはスレに貼ると無くなります。
そのため、アップローダーに上げるのも手ですが直接貼る場合は、
全角空白か に置換すると見栄えだけはよくなります。

【アップローダー】(質問が長い時はココ使うと便利)
codepad.org/ (コンパイルもできるし出力結果も得られる[]privateをチェック)
ideone.com/ (時間帯によってはcodepadが重い事があるのでここも利用)

46 名前:デフォルトの名無しさん [2011/12/14(水) 22:27:41.84 ]
C++で、クラスポインタを0で初期化するようなプログラムを頻繁に見るんですか、いいんですか?
間違って、初期値のままポインタの参照先の値を書き替えてしまうと、かなり危険なきがするんですが。

47 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 22:32:29.62 ]
>>46
間違って書き換える方が悪い、という考えで作られているのがC++。

48 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 22:44:51.81 ]
class A{...};
A * p = NULL;
*p = hogehoge;

みたいなことを言ってるの?
余裕で落ちるから大丈夫

49 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 22:45:52.23 ]
C++で

class CHoge;
CHoge* p_test = NULL;
p_test = new CHoge();

↑の処理は、
一番上はクラスの宣言、
二番目はCHogeを入れるためのp_testという名前の箱を用意してやる、
一番下はコンストラクタを呼び出して、実態を与えてやる
といった処理でしょうか?

50 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 23:18:04.55 ]
宣言しただけじゃnewできんぞ

51 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 23:28:57.40 ]
>>46
よく気がついたな
かなりヤバイコードだから絶対に真似しちゃイカンぞ

52 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 23:29:11.50 ]
CHoge* p_test = NULL;
/*スタック領域にクラスのポインター型変数を確保*/

p_test = new CHoge();
/*ヒープ領域にクラスに必要なメモリを確保した後、
 そのクラスのコンストラクタを呼び出し、
 そのポインタをp_testに代入*/

53 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 23:32:32.42 ]
RAIIのひろーい原則に従えば、ポインタにNULLを突っ込む余地はないはずなんだけどね
確保の直後に初期化されなければならないし、破棄は(コード的に)確保と隣接した場所で行われるから
要するに無効なまま運ばれる区間は限りなく短くなってるはずなので

54 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 00:40:15.58 ]
なに得意そうにswitchさんデスっての?



55 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 09:43:31.74 ]
前スレ>>782
>namespace manko {
> extern "C" {
>  #include <Windows.h>
を見て、へーこんなことできるんだと思って試してみた。

namespace Impl{
struct impl_struct{ char c[8]; };
extern "C" void externCtest(impl_struct *a){
for(int t = 0; t < 8; ++t) printf_s("%d ", a->c[t]);
printf_s("\n");
}
}
namespace Decl{
struct decl_struct{ int a, b; };
extern "C" int externCtest(decl_struct *a);
}
void externCtest(){
Decl::decl_struct a = { 1, 2 };
printf_s("externCtest ret = %d\n", Decl::externCtest(&a));
printf_s("&Decl::externCtest = %x\n", (int (*)(Decl::decl_struct*))Decl::externCtest);
printf_s("&Impl::externCtest = %x\n", (void (*)(Impl::impl_struct*))Impl::externCtest);
}

extern "C"をつければ、どのnamespaceで定義しても
どのnamespaceで宣言しても、引数や戻り値がでたらめでも
名前と引数のサイズとかが合ってれば動くみたいなんだけど
これってちゃんと仕様に沿ってるの?

56 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 10:16:23.06 ]
呼ばれる関数は同じだがオーバーロード(?)すらできた。

using Impl::externCtest;
using Decl::externCtest;
Impl::impl_struct a = { 3, 4, 5, 6, 7, 8, 9, 10 };
Decl::decl_struct b = { 1, 2 };
externCtest(&a);
auto bret = externCtest(&b);

57 名前:デフォルトの名無しさん mailto:sage [2011/12/15(木) 23:24:31.68 ]
>>52
ありがとうございmす

58 名前:デフォルトの名無しさん [2011/12/16(金) 13:43:12.04 ]
DLL内の関数名の前につく
__imp__

__imp_
の違いってなに?

59 名前:デフォルトの名無しさん mailto:sage [2011/12/16(金) 17:45:05.81 ]
気分

60 名前:デフォルトの名無しさん mailto:sage [2011/12/16(金) 19:33:04.17 ]
エスパーすると区切る場所が違う

__imp___func -> __imp__ + _func
__imp__func -> __imp_ + _func
ではなく
__imp___func -> __imp__ + _func
__imp__func -> __imp__ + func

_func と func の違いは呼出規約(stdcallかcdeclか)の違い



61 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 01:05:33.53 ]
インプ君思い出した

62 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 02:47:27.11 ]
class Hoge
{
 [型] hoge(bool var);
}
↑のような関数があるとき、
Hoge hoge;
bool foo = true; // どちらでもいいので初期化
hoge.hoge(foo); // (1). bool型の変数指定
hoge.hoge(true); // (2). trueの定数指定
hoge.hoge(false); // (3). falseの定数指定
と出来ますが、
(3)以外のパターンでコンパイルエラーにしたいのですが、可能でしょうか?
falseしか指定できないenumを作るしかありませんか?

63 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 03:04:53.79 ]
そもそも引数なんか必要ないんじゃないか?

ちなみにC++0xなら、右辺値参照を使えば(1)をコンパイルエラーにできる。
hoge(bool &&var);

64 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 03:21:42.82 ]
プロトタイプ宣言の関数の引数に書かれる「rhs」は何の略です?



65 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 03:33:14.60 ]
>そもそも引数なんか必要ないんじゃないか?
申し訳ありません。
この例を見ると確かにそのとおりです。言われて気がつきました。
簡単に示そうとして、情報が欠落してしまいました。
Hogeのコンストラクタとして3つ、
 Hoge hoge;
 Hoge hoge(false);
 Hoge hoge = false;
 hoge.無効化メソッド(false);
のを許して、以下を許さない
 Hoge hoge(true);
 Hoge hoge = true;
 Hoge hoge(bool foo = false); 
ものを考えていました。
boost::optionalのintだけのようなものをライブラリなしでつかいたいな、と。
class Hoge{public: bool 有効化フラグ_; int hoge_};を使って。
おとなしくenumします。
右辺値参照初めて知りました。少し勉強します。

66 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 03:34:10.36 ]
×hoge.無効化メソッド(false);
○hoge.無効化メソッド();

67 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 04:09:31.81 ]
>>64
lhs < Left Hand Side (左辺)
rhs < Right Hand Side (右辺)

68 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 09:39:11.49 ]
>>62
template<bool p> struct c_bool
{
static bool const value = p;
};

struct Hoge
{
void hoge(c_bool<false> const & p);
};

Hoge h;
bool p;
h.hoge(p); // error
h.hoge(c_bool<true>()); // error
h.hoge(c_bool<false>()); // ok

69 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 16:51:49.67 ]
C++でコルーチンはどうやれば書けるの?

70 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 17:01:17.89 ]
std::stringで数値を文字にする時に
int 123 →"00123"
int 1234→"01234"
みたいに0で桁数を揃えるフォーマットにするにはどうしたらいいですか?

71 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 17:07:36.10 ]
>>70
#include <sstream>
#include <iomanip>
std::string to_str(int x, int d)
{
std::ostringstream oss;
oss << std::setw(d) << std::setfill('0') << x;
return oss.str();
}


72 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 17:21:09.91 ]
>>71
ありがとうございます!

73 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 17:26:44.94 ]
string str = "123";
std::cout << (boost::format("%05d") % str).c_str();
だったかな。(うろ覚え)

std::cout << boost::str(boost::format("%05d") % str);
とか。(うろ憶え)

74 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 17:29:49.92 ]
>>73
%dとstd::stringは、激しくマズイ気がするが気のせいだったらすまない。



75 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 17:41:39.80 ]
>>70
>みたいに0で桁数を揃えるフォーマットにするにはどうしたらいいですか?

絶対ないというならいいけど、int 123456 の時に "23456" か "123456" の
どっちになって欲しいか書いたほうがいいと思う。

76 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 18:32:08.83 ]
class A
{
 enum B {aaa, bbb, ccc}
}
int main(){
 A::B b = A::aaa; // ※1
return 1;
}
「※1」の右辺に、凄い違和感があって、
「A::B.aaa」か「A::B::aaa」ってなるのが妥当に思えるのですけど、
何でcの仕様がこうなっていて、
何に私が悩んでいるのか解決できるようなエスパーがいたら、
助言をして欲しいです。よろしくお願いします。

77 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 18:32:59.19 ]
禿がenum嫌いだから

78 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 18:36:48.96 ]
64です。
>>67
ありがとうございます。スッキリ出来ました。

79 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 18:46:53.65 ]
>>76
俺も初めは違和感だったな
それにC#ではA.B.aaaとなるし

考え方だがCでは整数に名前が付いてるだけ、
くらいの認識と考えれば、その言語仕様も少し納得しやすいかもしれない


80 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 18:56:04.21 ]
Aのなかにデロ〜ンとaaa bbb cccが漏れてるからそうなるわけで

81 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 19:02:47.35 ]
C++11でenum classが導入されてちゃんとクラススコープに入ったenumがつけるようになるんだったけか。

82 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 19:20:08.60 ]
namespace ENUM{int aaa(){return 0;}int bbb(){return 1;}int ccc(){return 2;}}
typedef int(*ENUM)(); // これで全て解決だ!

83 名前:76 mailto:sage [2011/12/17(土) 19:22:39.05 ]
>Aのなかにデロ〜ンとaaa bbb cccが漏れてるからそうなるわけで
つまり、enum自体はc++的なものではなくてc的なものなので、グローバルに展開されてしまうってことですね。
ただし、c++なので、クラス内や名前空間内に限定することは可能になっている、と。

納得できました。
ありがとうございます、>>79,>>80,>>81


84 名前:76 mailto:sage [2011/12/17(土) 19:23:29.46 ]
>>83 もありがとうございます。



85 名前:76 mailto:sage [2011/12/17(土) 19:24:10.67 ]
×>>83
>>82
スレ汚し失礼しました。

86 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 21:32:25.42 ]
質問
C++で、GLSLのnoise関数のような関数はありますか?
つまり、ある値を入に対し、決まった、予想の付かない値を返す関数なのですが

87 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 22:33:45.66 ]
コピーコンストラクタ・operator=に関して一件教えてください。

コピーコンストラクタを用意する際には、
operator=も用意するように、
と教えていただいたので、そのようにしてました。あるとき、
そのoperator=の最後に記述する「return *this;」を忘れていました。
ところが、特に問題が出ていませんでした。
これは記述する必要がないのでしょうか?

88 名前: ◆QZaw55cn4c mailto:sage [2011/12/17(土) 22:36:15.47 ]
>>86
適当なhash関数はいかが?MD5/SHA-1/2(256) とか。

89 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 22:47:36.22 ]
>>88
ありがとうございます
検索してみるとwww.studyinghttp.net/md5このページを見つけました
しばらく見て参りますが、他に良い解説サイトなどありましたらご紹介くださいませ

90 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 23:13:57.89 ]
>>87
下に示すような記述をする為には、自身を返す必要があるから。
従って、代入した結果を必要としないのなら問題にならない。
--
YourClass foo, bar, baz;
foo = bar = baz;

91 名前:65 mailto:sage [2011/12/17(土) 23:25:10.40 ]
「codepad」でエラーになる理由を教えていただけませんか?
codepad.org/VybcCvXY
ideone.com/WA7TG

92 名前:65=91 mailto:sage [2011/12/17(土) 23:34:02.42 ]
ideone.com/WA7TG
ttp://www.geocities.jp/ky_webid/cpp/library/027.html

関数のプロトタイプ宣言で、throw(ココ)に書く内容でどのような変化があるのか調べています。
↑のページの「std::bad_exception」の説明に関して試しています。
178行目の「i2 = hoge5;」において、54行目の関数が呼ばれています。
このとき、
プロトタイプ宣言で、54,55,56のパターンや、
throwする例外オブジェクトで、60,61,62の内容を試すのですが、
「std::bad_exception」がthrowされません。
どこを修正すると説明の通り、「std::bad_exception」がthrowされるか教えていただけませんか?

よろしくお願いします。

93 名前:65=91 mailto:sage [2011/12/17(土) 23:49:52.60 ]
あと、
 「eclipseのc++」や「ideone.com」で試した際と、
 「Visual c++」で試した際と、
の間に挙動の違いがあって、205行目が、
 前者で実行されない
 後者で実行される
のですが、何故なのでしょうか?
 gccでは、宣言以外の例外発生の後に即terminate();
 visual c++では、プロトタイプ宣言のthrow()を無視している
のでしょうか?

ideone.com/qqqhp ※60行目、178行目、205行目

94 名前:65=91 mailto:sage [2011/12/17(土) 23:57:49.65 ]
最後に、(いろいろ問題出そうですが、)
158行目の
「hoge5」
とした場合に、問答無用で、
 「(int)hoge5」
 「int(hoge5)」
とした場合と同じにすることは可能でしょうか?
可能であれば教えてください。
(型の指定がない場合は、int(T)としたい。が、代入先がboolの場合はbool。「.」や「->」など他のoperatorも残したい。)



95 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 00:02:42.24 ]
>>60
ありがとう

96 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 01:41:15.51 ]
>>91
エラーの理由をみるにcodepadでは(その警告を出すなら)警告もエラー扱いする設定になってる。
そしてそのソースに対してはクラス定義でのメンバの宣言順とコンストラクタでのメンバ初期化子の順序が違うと警告がでてるからエラーになる。

97 名前:91 mailto:sage [2011/12/18(日) 02:53:35.67 ]
>>96
なるほど。理解できました。ありがとうございます。

エラーの内容が続くwarningで示されていたとは。
独立しているのだと勘違いして、warningは無視していました。

codepad.org/lTFa56Ar
動きました。

98 名前:87 mailto:sage [2011/12/18(日) 02:57:54.25 ]
>>90
>foo = bar = baz;
{
 bar = baz;
 foo = bar;
}
これと等価だと思っていました。わかりやすい説明ありがとうございます。

99 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 03:16:04.70 ]
何度も失礼します。

codepad.org/OuxHRqHa
で、41行目にエラーがあり、その内容は、
「定義されていない変数(名)へのアクセスがある」
といったものなのですが、
Visual c++ 2010 Expressで試すと、素通りされてしまいました。

利用していないメソッドの場合も確認してくれるようにするには、どのような設定をすればよいのでしょうか?
Visual c++のスレは一週間くらい人大杉で書き込めませんでした。

100 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 03:38:14.38 ]
>>99
そりゃ hoge_ が定義メンバにも無いし
継承もしてないからじゃないの?

101 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 03:54:06.53 ]
もしかして、メモリリークって、Windowsだと、そのプロセスが終了すれば開放される?


102 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 04:59:59.92 ]
Visual C++ でコンソールアプリケーションでプロジェクトを作成して、
コンソールの他に、
独立した子ウィンドウをつくって、そこでなにやら処理したいのですけど、
インスタンスハンドルやらウィンドウハンドルやら説明を読んでも読んでもさっぱりわかりません。

そんなソースを示してくれているページを知っていたら教えてください。
簡単であれば書いてくれると助かります。

103 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 05:20:53.60 ]
開放される

104 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 05:52:09.57 ]
>>102です。
変な質問して申し訳ありませんでした。自己解決しました。忘れてください。



105 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 08:30:59.04 ]
c++のように、演算子をオーバーロード・オーバーライドできる言語って少ないんですか?
c++しか知らなくて、Javaをはじめてみたのですけど、不便で仕方がないかなぁ、なんて…、態度でかくてすみません。

106 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 08:42:28.35 ]
C#とかScalaとかHaskellとかPythonとか


107 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 09:48:10.70 ]
javaもoperatorみたいなもんが
あれば良かったのにね〜
文字列は+=できるのにね


108 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 11:10:52.87 ]
operator定義なんて邪悪でしか無いだろ
いらんわこんなもん

109 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 11:15:28.01 ]
forr.Add(bar) とかになるん?

110 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 11:17:41.86 ]
C++で質問です。

クラスCHogeが構造体m_hoge[5]をメンバ変数として持つ場合、
まとめて初期化することは出来ますか?

111 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 11:27:26.08 ]
C++11なら可能

112 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 11:27:45.79 ]
PODなら配置new
そうでないならアラインドストレージの配列にして配置new

113 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 11:28:44.51 ]
コンストラクタ

114 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 11:32:56.34 ]
> いらんわこんなもん

自分に必要ないなら使わなきゃいいだけなのに、
必要もないのに使って「いらんわ」ってアホすぎ。



115 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 11:37:36.67 ]
>>114
使ってないよ
なんで使ってると思ったの?

116 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 11:48:11.32 ]
ああすまん、自分には必要ないけど、他人には必要ということが理解できないアホだったのね。

117 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 12:14:10.87 ]
まあこんなもんに必要性感じてるアホよりマシだけどね

118 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 12:20:16.97 ]
感じてないよ
なんで感じてるとおもったの? (w

119 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 12:26:28.99 ]

7月の段階で民主党が2兆円の復興予算を組んだとき
自民党が要請した復興予算は累計17兆円

自民党の17兆が7月時点でに決定されていたのなら
今の日本はもう少し違って居た筈だ
ちなみに関東大震災のときは復興予算として現在の価値にして150兆円以上を組んでいた。
この事実を知れば、予算の規模の小ささ、ましてや増税なんて奇知涯にも程があると思わざる負えない。


120 名前: ◆QZaw55cn4c mailto:sage [2011/12/18(日) 12:38:33.64 ]
>>119
で、その17兆とやらの財源は?東電売却?

121 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 12:40:02.40 ]
まー補正予算をチマチマ組むより、一気に金つぎこんだほうがいいんだろうな

122 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 12:46:58.89 ]
>>118
誰がお前の事って言った?
日本語をちゃんと読んでレスしなよ

123 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 13:11:02.53 ]
オペレーターのオーバーロードってなんかまずいの?
小規模なプログラミングやっててよく使うんだが

124 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 13:15:39.99 ]
濫用すると分かりにくいコードができる。



125 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 13:35:31.11 ]
C++の方でやってるね
可読性の問題かあ
自分一人でやる分には問題ないかな

126 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 14:43:24.80 ]
>>122
自分のことなんて思ってないよ
なんで俺のことっておもったの? (w

127 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 15:01:17.97 ]
俺、数学とか好きだから
例えば行列クラスとか作ったりした時(C#だけど)
やっぱ、operatorは欲しいよ。
いちいちC = A.Multiplicat(B)って記述より
C = A * B のほうがすっきりする
ようは、実装するときにちゃんとしたコードさえ
かけば、operatorは良いと思う。


128 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 15:38:48.84 ]
C = Mul(A, B)
Mul(inA, inB, out)
普通こう書くだろ行列でメンバがprivateなんてまずありえないしメンバ関数である必要ない

129 名前:127 mailto:sage [2011/12/18(日) 16:25:16.01 ]
>>128
いいや、メンバは全部privateです。

130 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 17:02:24.99 ]
C++さんも中置きにコだわらず
Lispさんのユニークな演算子を定義できると言っても過言ではありません(要は関数なんだけどね
みたいな書式を併用できればよかったのに

131 名前:デフォルトの名無しさん [2011/12/18(日) 17:35:46.82 ]
個別の要素ににアクセス出来ない行列とかワロス

132 名前:デフォルトの名無しさん [2011/12/18(日) 20:55:57.56 ]
わしは、晶子が好きじゃ!

133 名前:デフォルトの名無しさん mailto:sage [2011/12/18(日) 23:08:11.88 ]
>>128
>C = Mul(A, B)
ダサすぎてありえないw

134 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 01:23:33.65 ]
イテレータやスマートポインタがポインタと同じように扱えるという
一点だけでも演算子オーバーロードの価値がある。



135 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 08:26:00.25 ]
>>134
このへんはC++ならではだよなぁ
cout << なんかは賛否両論ありそうだけど

136 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 15:16:33.62 ]
Visual c++の環境をEclipseから使うことってできるかな?
JavaやってみるためにEclipse使ってみたら、エディタタブの右のスクロールバーの右の
キーワードのハイライトがわかりやすくて感動した。

137 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 15:21:54.95 ]
Productivity Power Tools入れれば同じようなの出るよ

138 名前:127 mailto:sage [2011/12/19(月) 16:43:55.72 ]
>>131
C#って書いたろ?
そんなもんインデクサや、行又は列の長さくらいは
public にしてるにきまってるだろ。


139 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 17:23:14.54 ]
>>136
EcripseつかうならMinGWのが情報多いんでね?

140 名前:デフォルトの名無しさん mailto:sage [2011/12/19(月) 22:50:04.94 ]
operatorは初心者の俺には邪険な存在でしかない
1度目は適当に読み流してどんなもんか確認しただけだからかもしれなけど
ちゃんと実行確認しながら2度目で理解出来ればいいんだけど

141 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 00:42:24.58 ]


朝日新聞は一時期300人のネット工作員をかかえ、反日工作していた。
捕まった編集者は49歳ですが、こんなカスでも1500万円の年収がもらえるんですよ。
>>866
14時以降に何が起きたんだ

>>866
Domain Information: [ドメイン情報]
a. [ドメイン名] ASAHI-NP.CO.JP
e. [そしきめい] かぶしきがいしゃ あさひしんぶんしゃ
f. [組織名] 株式会社 朝日新聞社

これが規制されたからじゃねw

−「朝日新聞社は、とある思想やパラダイムに日本の世論を誘導する見返りに、中国から大量の資金を貰っている。」−
これはおそらく週刊誌さえ書けない。
「失語症躁鬱ニートは氏ねよ」【ネット】朝日新聞社員(49)ネットで荒らし行為、会社ごとアクセス規制へ



142 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 01:50:40.47 ]
>>140
Cのポインタなんかもそうだけど、最初は「そーゆーのがあるんだな」だけで良いと思うのだ
operatorなんて、一部以外はそんな多用するもんでもない気がするし。

143 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 17:40:25.85 ]
>>140
operator、始めは何この意味不明、と思ってたけど、あると確かに便利なものはあるんだ。
例えば、
ポインタを要素に含んだ構造体を複製する際、ポインタの先まで複製するってのを
a = b
って出来る。
a.clone(b)
とかでいいんだけどね。
あと、他人が書いたコードのoperatorオーバライドは意味不明。確かに要らないと感じたりもする。

144 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 17:57:08.78 ]
int型が何ビットになるか決めるのはコンパイラですよね?
オプションで指定したり、クロスプラットフォームだったりするから。

ja.wikipedia.org/wiki/64%E3%83%93%E3%83%83%E3%83%88
を見ると、OS単位で決まってるみたいな書き方があると感じているのだけど、
OSの層とコンパイラの層があるのかな?



145 名前:デフォルトの名無しさん [2011/12/20(火) 18:20:08.40 ]
VC10で以下のヘッダーファイルはコンパイルが通るのですが、プリコンパイル済みヘッダーにしようとすると二重定義だと怒られます
回避策はないでしょうか。あるいはどこが記述が間違っているのでしょうか
error LNK2005: "public: static void __cdecl Hoge<int>::FuncA(void)" (?FuncA@?$Hoge@H@@SAXXZ) は既に stdafx.obj で定義されています。
error LNK2005: "public: void __thiscall Hoge<int>::FuncB(void)" (?FuncB@?$Hoge@H@@QAEXXZ) は既に stdafx.obj で定義されています。

// Hoge.h
#pragma once

template<typename T> struct Hoge {
  static void FuncA();
  void FuncB();
};

template<> void Hoge<int>::FuncA(){}
template<> void Hoge<int>::FuncB(){}


146 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 18:38:08.84 ]
>>145
template<> void Hoge<int>::FuncA(){}
template<> void Hoge<int>::FuncB(){}
これは実装ファイルに1箇所だけに書かなきゃだめ
リンクエラーになる







[ 続きを読む ] / [ 携帯版 ]

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

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