STLつかうと一気に実行ファイルサイズが10倍に?! 環境によるだろ。 俺はBorland-C++5.6.2に -D_RTLDLL オプションを指定して、極力 ランタイムを使用するようにして使っているが、例えばstd::vectorを 使っても使わない時と比べ10Kほどしか増えない すげえ。ダイナミックリンクしといてファイルサイズが増えないとかいってるよ。この人。 C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。 とかいうエラーが出るんだけどこれってどうすればいいの? #include <stdafx.h> 後死ね。 言葉が悪いな。それで教えているつもりか。 まぁヒントぐらいにはなったな。 うむごくろう。
----テンプレここまで-----
個人的な思い込みに基づいて"hoge"の使用に過剰な反応をする人がこのスレに住み着いていて、 最近は「hoge禁止」がスレ住人の総意であるかのように見せる工作を繰り返しているようです。 あまり気にしないでやってください。
↑ こういう嵐が最近出没します。注意して下さい
最近c++やり始めたんですけど、C#でいうbyte型の配列ってc++ではどうやって再現すればいいんですか?
char 配列[100];
>>1 >hogeは禁止です。使用しないでください。
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
またいつものQZか きちんとトリップつけろや糞コテ
>>11 を見てみろよw
hoge厨の自殺教唆だぞw
本当にhoge使う奴って韓国人か犯罪者しかいないなw
hogeって何の略だよ
16 :
デフォルトの名無しさん :2014/01/14(火) 10:01:14.42
>>15 こんなときばっかでしゃばるんじゃねーよごみ
hoge使って質問やサンプル投下するキチガイも誘導しろ低能
>>16 何言ってんの?
「C++に関する質問やら話題やら」であればこのスレで合ってるんだよ。
そうじゃないから専用スレに誘導されてんだろ。何でこのスレでやろうとするの?
>>17 C++の質問は構わないが、
hogeの使用に不快感を示す人が一部いて、
その人たちを煽ったりhoge連投して荒らす人がいて、
スレが荒れたので禁止になったのがこのスレなのだが。
反hoge団体の人がアホってことで
個人的な思い込みに基づいて"hoge"の使用に過剰な反応をする人がこのスレに住み着いていて、 最近は「hoge禁止」がスレ住人の総意であるかのように見せる工作を繰り返しているようです。 あまり気にしないでやってください。
特定の文字列禁止といってるやつは
hogo
言葉狩りに必死な連中をC++のスレでみるとは思わなかったわ。
24 :
デフォルトの名無しさん :2014/01/14(火) 13:02:14.56
hoge hoge (hoge hoge){ hoge(hoge(hoge,hoge)==hoge){ hoge(hoge); hoge hoge; }
#define hoge これでhogeは使えなくなった
хогэ хогё
>>18 印象操作乙
hogeに不快感を持たない奴が2〜3人いるだけ
hogeに不快感って言葉がもうぶっ飛んでるよね
それに対してhoge撃滅篤志隊は交替で24時間365日休むことなく監視してくれている
「料理の注文は構わないが、 ウンコの使用に不快感を示す人が一部いて、 その人たちを煽ったりウンコ連呼して荒らす人がいて、 レストランが荒れたので禁止になったのがこのレストランなのだが。」 ってことだな。 レストランでウンコに不快感を示さない人が一部なのか。
豚肉の不快感を示すムスリムが謎の権利を主張して暴れた
残業に不快感を示すプログラマたちが人権を主張して暴れた
>>11 のような典型的なhoge荒らしの行動を見れば
レストランでウンコを連呼どころか
レストランでウンコを連投の迷惑レベル。
特に姉妹スレでスレ立てしてコピペを連投した事件は記憶に新しい。
災了拳の使い手である限りその呪われし宿命から逃れることはできぬのだ
37 :
デフォルトの名無しさん :2014/01/14(火) 19:17:47.46
>>1 ちょっと気を抜くとチョーセン人が慰安婦像を立てやがる
38 :
デフォルトの名無しさん :2014/01/14(火) 19:20:41.50
>>18 事実と異なる
hogeに相当するハングルがないので、妬ましくてしょうがない一匹のチョー
セン人が火病って自演を交えた荒らし繰り返しているだけ
チョーンジンはウンコ投擲というチンパンジー並の国技を持ってるからなあ お触り禁止
ソントで勝利宣言とかな あいつらホント頭おかしい
ちょっと伸びてるかと思えばいつも同じ話題ばかりで飽きないのかね。 よそでやってくれ
42 :
デフォルトの名無しさん :2014/01/14(火) 20:43:43.95
43 :
デフォルトの名無しさん :2014/01/14(火) 20:57:11.81
「チョン」がチョンを指す言葉として定着 →差別ニダ→言葉狩り →「朝鮮人」にも蔑視の意味を含めることが一般的になる →差別ニダ→言葉狩り 「韓国人」にも(以下略) この後はkoreanと呼べとでも来るのかな? 世界中で悪いことばかり続けてるからチョンが存在する限り無限に続くんだけど(笑)
Qという一匹の基地外が
>>4 ,17,19,20,29,30,37,38,39とスレを荒らしているのか
はよid導入して欲しい
id無しじゃ荒らし報告でレス削除もままならない
ちなみに最近のhoge変数を使用したサンプルの質問もQの自演
p://chart-sabuch.jpn.org/chart/c.cgi?toro.2ch.net/test/read.cgi/tech/1388279736/
47 :
17 :2014/01/15(水) 00:31:13.00
48 :
17 :2014/01/15(水) 01:48:38.41
俺もQなんて名前じゃないよ。
サンプルにHOGE使ってるやつ全部ブックオフで売っぱらってきたわ
51 :
デフォルトの名無しさん :2014/01/15(水) 03:23:57.88
ついでに祖国に帰れよ チョーセン人
>>46 粘着タイプのグラフになってるときはだいたい「チョーセン人」って書き込んでる韓国人が来てるときだな。。。
>>51 あんたリアルでもコリアンだってすぐばれるでしょ
54 :
デフォルトの名無しさん :2014/01/15(水) 04:17:35.70
火病って連投するなよチョーセン 分かり易すぎるぞ
HQGE
hogeにうだうだレスつけてる人にお知らせです。 hogeに構ったら荒らしだって書かれてんだから、 hogeにレスはせず、NGにして黙りましょうねー?
>>50 日本人著者は 本に大体入ってるから捨てたよ
58 :
デフォルトの名無しさん :2014/01/15(水) 08:15:42.64
残ったのはハングルだけ 分かり易すいぞ チョーセン人
チョーセンジン連呼すれば日本人になれるわけでもないのにな
>>57 日本人著者でもhoge使ってない書籍がたまにある。
そういう書籍は6割くらいの確率でまともな内容だな。
61 :
デフォルトの名無しさん :2014/01/15(水) 10:08:26.82
hoge使ってないクソ本のほうがはるかに多いわけだが
「規格書以外の文書は規格書と同一では無いという一点において規格書より不正確であり即ちクソである」 なんとでも難癖つけようと思えばつけれるんだから気にするだけ無駄。 第一、参考にしてる書籍がクソだったとしても 「参考書が間違ってる、学びなおして来い」 なんて理屈で質問を拒否してたら最後には 「規格書を熟読してから来い」 なんて事になって相談の体を成さなくなるだろが。 まともに取り合うだけ無駄な主張だよ。
こんなとこで暴れてないで「100% hoge 無添加」をうたい文句にした入門書を書け
64 :
デフォルトの名無しさん :2014/01/15(水) 11:04:54.77
チョーセン人には無理
>>62 規格書の不明な点について質問するのは理解できるが、
規格書を読めば誰でも理解できる明白な点について質問するのは
規格書をを代わりに読めと言うのに等しいから回答する意味も必要もないかと
66 :
デフォルトの名無しさん :2014/01/15(水) 11:10:04.98
規格書を読むためには規格書を購入する必要がある その点無料で公開されているMSDN読めとは事情が異なる
つまり金払うの嫌だし図書館行くのも面倒だから、俺の代わりに読んで教えろよってこと?
↓英語の規格書読めない奴はくるなとか言い出すアホ
英語が読めないなら英語板で翻訳頼めばいいんじゃないかな。 プログラムとは全く関係ない質問なわけだし。
>>67 端的に言えばそうだな。その見返りとして顕示欲の満足が得られる。
>>61 みたいな馬鹿は本を読んでも1割も理解できてないんだろうなw
hogehoge...(ボソッ
73 :
デフォルトの名無しさん :2014/01/15(水) 11:46:40.30
>>65 規格票を読んでもわからないことを誰が答えられるんだ? ここは WG21 そのものじゃないぞ
74 :
デフォルトの名無しさん :2014/01/15(水) 11:56:07.42
>>69 プログラムの知識ないやつが翻訳したマニュアルみたことあるが、ひどかったぞ
function を機能と訳しているんだ
MSDNの悪口はやめるんだ
あれは酷いものだ。最悪否定文が逆転してたりするからな
規格を読んだけど「コンストラクターとは何か」 がわかりませんでした。エロい人誰か教えて下さい。 「コンストラクターとはこのような特性を持つ」とか 「デフォルトコンストラクターとは」 という説明はあるのですが、 JavaやC#のような概念の明確な説明が見つけられませんでした。
JavaやC#と同じだろ。しらんが。 規格書でなく解説書見ろ。
規格書はコンパイラ作成者が読むもの コンパイラ作成者はC++の使い方を知らなくても作れるし コンパイラ作成者以外が読んでも無駄(キリッ
>規格書以外の文書は規格書と同一では無いという一点において規格書より不正確
>>62 は論理的思考ができない人?
>>7 ・Cがデキるのかこれからなのか、っていうか遊べるくらいの技量でいいよ
・JavaなりC#がデキるのか、以下同文
83 :
77 :2014/01/15(水) 13:12:30.25
>>78-79 どこかに定義は書かれているのでしょうか?
「コンストラクターはこのような書式」
という説明はあっても
その書式であればすべてコンストラクターなのかどうか、
まず定義が見あたらないのです。
定義が解説書にしか書かれていないことは変だと思うのです。
>>82 ・Cがデキるのかこれからなのか、っていうか遊べるくらいの技量でいいよ
・JavaなりC#がデキるのか、以下同文
>>83 コンストラクタをどう記述するか、いつ呼ばれるかは明確に記述されてるだろ
それ以上に何が要るんだ?
>>84 コンストラクタがどういう位置づけで何に使えばいいか・ダメかなんて書いてないよ
そんなものは時の流れで変わる
アンカミスった
定義が無いとコンストラクタの書式と同じ関数に コンストラクタのセマンティクスが適用されるか自明でない? 見落としてるだけで定義はどこかにあるだろ
89 :
デフォルトの名無しさん :2014/01/15(水) 15:03:49.24
>>74 functionは名前出ててもそれが普通の単語だとソース断片載せてない限り関数か機能かわからねえからな
そーゆーの気付いたら細かく指摘してやれ
>>85 満たすべき条件だけしか書かれてないってことは
プログラマはコンストラクタを書けても
コンパイラ屋がコンパイラを作れないぞ
(何を基準にソースコードをコンストラクタと判断するか)
91 :
デフォルトの名無しさん :2014/01/15(水) 15:52:16.92
>>83 >「コンストラクターはこのような書式」
>という説明はあっても
>その書式であればすべてコンストラクターなのかどうか、
定義されてる書式ならばすべてコンストラクタに決まってるだろ。バカ
そういやムーブセマンティクスや&&って、皆、理解してるの? それとも、理解しないままプログラム書いてるの? 或いは、理解してるけど敢えて使わないようにしてるの?
頑張って理解した。 ツール1本作って、少し壁を越えた感じ。
ちなみに、私はEffective C++の第三版を読み終わったあたりで、 今後の人生では可能な限りc++を避けることを決心した
>>92 理解したうえで社内で勉強会開いて浸透させるまでがデフォだろー
std::forwardウザス
>>91 論理的思考のできない人?
Aは条件Xを満たすと条件Xを満たすものはAは違うぞ
はいはい 簡単だったんですね
100 :
デフォルトの名無しさん :2014/01/15(水) 21:29:15.10
>>97 規格書には「条件Xを満たすものはコンストラクタ」が書かれている
条件Xが「定義されてる書式」だ
お前は論理うんぬん以前に日本語やりなおせ
>>98 標準化委員会の人たちのブログを見て、薄っすらと理解したよ
なんで彼らはWebアプリをc++で書かないんだろうか
そりゃブラウザでC++使えないからだろ
WebアプリをC++で書こうとする奴=バカ
CppCMS、Wt、TreeFrogと世界中にc++好きが居るけど使われないから不思議 PHPは甘え
東京から名古屋まで移動したいときに 歩かずに新幹線を使う奴は甘え
>>92 いまいち理解してないんだったらマジレスしてやろう。
下のコードの 「test」 にいろんな値をつっこんでみろ。
普通の値、関数、関数ポインタ、配列、関数の呼び出し結果、ありとあらゆるものだ。
そして test1 のどっちのバージョンが呼ばれるかよく観察するんだ。
「何が右辺値になるか?」ということがわかるようになるだろう。
template <typename T>
void test1(T&& x)
{
}
template <typename T>
void test1(T& x)
{
}
template <typename T>
void test(T&& x)
{
test1(std::forward<T>(x));
}
完全転送を理解してない人に >template <typename T>void test(T&& x) を見せると勘違いするだろボケ
そんなのは検索する気があるならいくらでも調べられること。 実際にやってみるのが一番身につくのはアホな俺だけではないはず。
そんなら template <typename T> void test(T&& x) { test1(std::forward<T>(x)); test1(x); } としてどう違いがでるのかも見るべきだな。
何が右辺値になるか を教えるのにどうしてforwardが出てくんだよ
ここは知識を自慢するスレなので
>>110 「ありとあらゆるもの」の中には、「いったん右辺値参照で受け取ったもの」も入っているからさ。
T + & → T & T + && → T && T & + & → T & T & + && → T & T && + & → T & T && + && → T && このルールを説明せずに関数テンプレの例を出すのは イジメ以外の何物でもないと思うんだ つまりT &&はTがX &の時に X &になるって説明が必要
それは知識としては知ってるだろ。
ISO/IEC 14882:2011ぐらい知識としてしってる筈 故に右辺値参照で躓く奴は居きる価値無し
>>102 emscriptenがあるじゃないか。
&がゲシュタルト崩壊
絶滅危惧種なんだから仲良くしろよ
>>117 operator &
operator &&
operator *
operator *(T )
operator ->
を主体にしてプログラム作ったら完全に崩壊するだろうなw
>operator && へんなもの作るな
>>119 まえ operator * を定義して階乗を計算するやつ作ったな。
a ** b とやると pow(a, b) になるの
本当は a * (*b)なんだけどなw
階乗?累乗じゃねーの?
このスレはISO規格を熟読した猛者が 初心者に知識をひけらかすことで 自尊心を保つためのスレになりました
>>100 もともとの
>>77 が「みあたりませんでした」
なんだから記載場所ぐらい示してやれよ
ISO/IEC 14882:2011ぐらい知識としてしってる筈 故に規格の理解で躓く奴は生きる価値無し
>>125 > 「コンストラクターはこのような書式」
> という説明はあっても
これがそうだと言っている。ニホンゴワカリマスカ?
>>127 規格読んでないから原文のニュアンスがわからんが
章番号ぐらい書けよ
>>128 原文を入手できない人に章番号を教えて何の意味があるのかい?
章番号を確認できる状態にあるなら自分で原文読め
ISO/IEC 14882:2011ぐらい知識としてしってる筈 規格も持ってない貧乏人は生きる価値無し
などと言っている絶滅危惧種
「見あたりませんでした 「規格に書いてあるニホンゴヨメマスカ 「読んでないけど記載場所ぐらい示してやれよ 「原文を入手できない人に章番号を教えて何の意味が 相変わらずコミュニケーション能力が欠落したアスペどもだぜ 12.1の一行目に明確に書いてある >Constructors do not have names >A special declarator syntax is used to declare or define the constructor →コンストラクタは名前を持たない コンストラクタの宣言定義には特別な構文が使用される ただドラフトの方は表現がやや微妙。そっちをみたのか? >Constructors do not have names >A declaration of a constructor uses a function declarator(8.3.5) of the form… これを 「コンストラクタは名前を持たない。一つのコンストラクタの宣言には以下の形式が使用される」 でなく 「コンストラクタは名前を持たない。一つのコンストラクタの宣言では以下の形式が使用される」 と読んでしまったんだろうか 出だしがconstructor(斜体) is 〜ならわかりやすいんだが
ISO/IEC 14882:2011ぐらい知識としてしってる筈 規格も持ってなくて無料のドラフトにすがる貧乏人乞食は生きる価値無し
コンストラクタとはなんだろう、よし規格をよむぞ!
↓
12.1 コンストラクタ
コンストラクタは名前をもたない。
↓
>>77 典型的なイラっとする説明ではある
コンストラクタには名前が与えられない
138 :
133 :2014/01/16(木) 11:14:18.08
>>137 3行が定義なのは理解した上で
・規格では明確なので
>>77 は読め
・ドラフト(1y)はそこへのつなぎが微妙かも?
と書いたんだが下3行が定義だ!と同じことを繰り返されても…
通じてないから > コンストラクタは名前をもたない。 と要約されるんだろ アホ
140 :
デフォルトの名無しさん :2014/01/16(木) 11:40:26.04
>>135 期待と違う説明の典型だね
GNU は GNU is Not Unix である、という類の循環論法だ
とりあえずコンストラクタの定義が12.1の冒頭に続く3つの箇条書きであることは
>>137-139 の合意が形成されたもよう
ISO/IEC 14882:2011ぐらいは知識としてしってるべきもの 規格も持ってなくて無料のドラフトにすがる貧乏人乞食は生きる価値無し
アンケートにご協力ください。貴方はどのような目的でこの規格書をご利用されますか? 1.コンパイラの作成のため 2.コンパイラの改善提案のため 3.無知な子羊たちを啓蒙し社会を発展させるため 4.匿名掲示板で無駄なアピールをしないとしんでしまう病とたたかうため
5.C++の正しい仕様を理解して自己満足するオナーニのため
6.好奇心を満たし並列化の果てで個を取り戻すため
クラス設計について調べているのですが実際にどういうクラスを作りどのように書くのかが全くわかりません 関連、集約、コンポジション等も例があり説明されるとわかるのですが自分では考えられません 自分で考えられるようになりたいのですが参考になるサイト・書籍を教えてください
>>146 だとしたらC++以外の言語で解説した本を探した方がいいだろう
>>148 Smalltalk にいくべきだろうな
150 :
デフォルトの名無しさん :2014/01/16(木) 22:46:18.98
struct hoge{...}; char c[sizeof hoge]; hoge* p = new(c) hoge; bool b = (void*)p == (void*)c; bは常に真になりますか?
newがカスタムされてたら真じゃなくなる可能性が
またいつもの流れか
>>146 OSSのコード乱読
UMLエディタなんて徹底している
>>150 質問するならまともな書籍かウェブサイトを調べてからにしろ。
>>150 hogeを記憶したり書いたりする暇はあっても
必要な事柄を調べる時間はないわけか
お前みたいなゴミクズは社会に不要なんだよ
>char c[sizeof hoge]; これって、c++だとコンパイルされるの?
何か疑問でも?
hoge厨を構う知恵遅れは何で試さずにきくの?
>>158 >>156 はC++を使ってるわけでもなくただ荒らし目的で住み着いてるだけだからC++をコンパイルできる環境がないんだよ。
>>157 これって、コンパイル時に定数になってるの?
>>158 手元のコンパイラを通っても、仕様で未定義だったりしたらイヤだろ
これがhoge厨の思考回路かwwwww 哀れだな、俺がこんな思考回路だったは恥ずかしくて生きてられないわwwwwwwww
ラムダって、何やってるんだかわからないのが欠点だよね。
むしろ何やってるのか簡潔にわかりやすくなるだろ
いや、わかりにくいよ。 それはforループやwhileループと同じだよ。
ブラックボックス的な話でしょ
>>160 みたいな馬鹿ってプログラミングに向いてないな
>>165 ここにラムダ式がある。
ここにforループがある。
見て分かるのはそれくらいだからな。
意味は検索にひっかからないし。流れはわかりにくくなる。
pxxオブジェクト->deploy_XXXX( 〜
だの
create_XXXX( 〜
だのといった呼び出しとくらべての話だけどね。
>>150 c が hoge 用にアラインされてないと動作は保障されない。
alignas(hoge) char c[sizeof hoge] なら、大丈夫。
配列 new でもないので、 b は常に真。
5.3.4 [expr.new] p14
> [ Note: when the allocation function returns a value other than null, it
> must be a pointer to a block of storage in which space for the object
> has been reserved. The block of storage is assumed to be appropriately
> aligned and of the requested size. The address of the created object
> will not necessarily be the same as that of the block if the object is
> an array. -end note ]
>>150 しねよ。いつものホゲチキガイ。
スレを荒らすな。
653 デフォルトの名無しさん 2014/01/16(木) 21:10:41.29
hoge禁止だけじゃなくてsageまで強要するつもりか
死ねよ チョーセン人
173 :
デフォルトの名無しさん :2014/01/17(金) 03:57:40.00
久しぶりに
>>169 を見た気がする。
珍しくマトモなこと書いてるじゃないか。
>sizeof hoge
コンパイルエラーだけどな。
>>163 C++のラムダはC#と違って単純明快だ
ただのファンクターで値または参照のメンバーを持つだけ
C#のラムダのキャプチャーは裏で生成されるコードが凶悪すぎる
>>174 hoge厨を構うな池沼
あ、このスレを荒らすのが目的ならどんどん構っていいよ
pascal文化でポインタの向こうも言語側でなんとか面倒見ようとするから無理が湧いてくるんじゃないかな
>>174 みんなお前の相手なんかしたくないんだよ。
早く失せろ。
>>175 単純明快であり、かつ何やってるんだかわからないというものだよね。
>>168 の意味で。なにしろ無名なんだよね。forループとかと同じで。
C++ラムダで分かりやすいコードを書ける気がしない オブジェクトの生滅が自己管理な世界にキャプチャをまんま持ってくるなんて悲惨な結末しか見えぬ
だからデフォがコピーなんだろう
プログラム内で繰り返し使う再利用性の高いものだったら、ラムダじゃなく ファンクタとして独立したクラスにしたりするだろう。 反対に、その場限りの処理だと一々そんなことやってられないんで、ラムダが生きてくる。 それはつまり、ラムダ式の中は一つ一つ違うってことだ。 もしその違いが微妙で、数多く散らばっていたら。
語弊があるな ラムダはファンクタを簡単に生成するための文法だ
個人的な思い込みに基づいて"hoge"の使用に過剰な反応をする人がこのスレに住み着いていて、 最近は「hoge禁止」がスレ住人の総意であるかのように見せる工作を繰り返しているようです。 あまり気にしないでやってください。
↑は荒らしBOTによる定期コピペ スルー推奨
ということにしたいのですね。
187 :
重要 :2014/01/17(金) 12:49:26.26
【重要】
hogeは禁止です。使用しないでください。
万が一hogeが書き込まれても、スルーしてください。
相手にするとあなたも荒らしと同じ扱いになります。
※
>>1 を良く読んで下さい
これは一部のボットでhogeを禁止にすることで、 foo,bar,bazのオシャレ先生に敗北しつつあるhogeを 復活させようとする巧妙な手口
189 :
デフォルトの名無しさん :2014/01/17(金) 13:43:48.05
hogeを持たないチョーセン人が嫉妬で火病ってhoge禁止という慰安婦像をあちこちでたてています こいつらはウソをついていないと生きていられない厄介な生き物なので信用しないようにしましょう
>>189 自己紹介乙
お前韓国人だとばれてから堂々と荒らすようになったな
>>189 ・ホゲの使用可否についての議論が過去あった
・その結果を踏まえてホゲ禁止のこのスレがたった
この二つは事実。
だからhogeを投下し続けるオマエは嵐以外の何物でもない。
はよ回線切ってしね。
ホゲの使用可否についての議論ってそもそもなんだよ
どさくさで
>>1 にhoge禁止を混ぜたんじゃなかったっけ
やってることは隣国と変わらんな
194 :
デフォルトの名無しさん :2014/01/17(金) 17:58:08.58
・hogeを使うと火病るチョーセン人が現れた ・チョーセン人はhogeが使われるたびにスレを荒らした ・チョーセン人はスレが荒れる事を口実にhoge禁止というルールを自演で作った ・チョーセン人が独断でテンプレにhoge禁止を入れたスレを立てた ・チョーセン人に反発する人がテンプレでhogeを禁止しないというスレを立てた ・チョーセン人はhogeコピペでスレをつぶした ・チョーセン人に反発する人がテンプレではhogeに触れていないスレを立てた ・チョーセン人はhogeが出てくるたびに口汚く罵り続けた ・チョーセン人が独断でテンプレにhoge禁止を入れたスレを立てた ← 今ここ
195 :
デフォルトの名無しさん :2014/01/17(金) 18:03:16.51
ゴミ
hogeにまでわざわざナショナリズム絡めてくるところを見るとどうやら隣国出身らしいな。
まぁこのage荒らしも1ヵ月も経てば飽きるだろ 本物の韓国人なら飽きずに活動を続けるだろうけどw
>>193 いや違うんですよ。
C/C++室スレの83〜86にかけて、一人のクソコテが
hogeアンチを煽り続けてスレを荒らしたのですよ。
hogeアンチも煽られて逆上したんですけど
それを見てクソコテが楽しんで煽り続けたんです。
それで賛否はあるだろうけどとりあえずhoge禁止にしないと
荒らされたままでC/C++スレが機能しない
ということで今のように禁止ルールが
>>1 に追加されたんです。
ホント、気のふれたクソコテはマジ死ねと言いたいですよ。
200 :
デフォルトの名無しさん :2014/01/17(金) 19:21:25.53
201 :
デフォルトの名無しさん :2014/01/17(金) 19:30:50.47
# スルー検定中
アンチがスルーすればなにも問題無い
hogeが書き込まれなければなにも問題無い
>>200 何でもいいけど、迷惑がられてる自覚はある?
反論できない韓国人がブーメランでないものをブーメランって言っててワロタw ブーメランってゆっとけば何とかなると思ったのかね。
迷惑がられてるのはチョーセン人
,..-――-:..、 ⌒⌒ /.:;;;;;;;;;;;;;;;;;;;;;::.\ ^^ / .::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::..ヽ  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ :::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::: :::::::;;;;;;;;;;;;;;;;;;;;;;;;; ::::::::::::::::::::∧_∧ そうやってなんでも ::::::::: < ::;;;;;;;;:> hogeのせいにしてりゃいいニダ・・・ _.. /⌒:::;;;;;ヽ -― ―'ー'-''―-''/ / ::;;;;;;;;:| |―'''ー'-''――'`' ,, '''' . ''''' と./ゝ_;_;_ノヽつ 、、, ''" ,,, '' ,,, ::;;;;;;;;;::: ,, ''''' ,,,,
>>206 自覚があるならとっとと失せろ
ここはプログラムに関するスレだ
チョンかどうかは分からないけど統合失調症の疑いがある。 統合失調症は早期に発見したほうが完治する確率は高いんだが・・・ 病院へは行ったりしないんだろうな。 荒らしたくてチョーセン人チョーセン人騒いでるだけなら統合失調症ではないんだろうけど、 本気で思ってる場合はかなり危ない。
210 :
デフォルトの名無しさん :2014/01/17(金) 20:38:18.44
そんなにhogeが嫌いならチョーセンに帰れば見ないで済むぞ
>>209 年末に派遣切りにでも遭ってむしゃくしゃしてるだけだろ
特定の意味のない言葉で発狂って精神異常だからな ついでに、プドカタには精神異常が当たり前の朝鮮系脳が多いからな
どこからチョーンジンが出てきたんだろうなw
マッチポンプか無能な右翼脳のしわざ
>>212 そうやってレストランで
「日常生活に密接に関連した、誰しも使う言葉」
といってウンコ、ウンコーと叫ぶのが朝鮮人なのでしょう。
トンスルとか一時は祭りになったし。
foo,bar,bazってシャレオツ系という感覚があったのか。 逆に無骨な変数名とか内気そうな変数名とかもあんのかな? 個人的には物理・数学系の用語を連想させるものは無骨なイメージがある。
ねーよ キモプログラマ臭しかしない馬鹿っぽい単語
hogeを使うなってのはパッと見なんの変数関数なのかわからないからってのがあるからまあわかるとして なんで韓国や朝鮮の話になるんだ?
いや
>>188 でそんなこと書いてあったし。
あとプレフィクスを律儀に付けてんのは話のわからないヤツってイメージあるな。
>>218 頭のおかしなQは昔から相手を誹謗するときに
「チョーセン人」「鮮人」を多用するので
特に意味はない
ハンガリアンってよいよね
>そんなにhogeが嫌いならチョーセンに帰れば見ないで済むぞ キチガイの故郷はインターネットも無いのかよw
以前コードレビューしたとき、リリースソースにあるまじき変数名が大量に残っていたことがあった。 ひと通りコメント付けた後、最後に 「ちょっと全体的に臭いです」 と書いて返してやった。 先方からは一言もレスポンスが無かったw
ハンガリアン禁止になってる。 使ったことはないが。
> 先方からは一言もレスポンスが無かったw
まあ、
>>223 みたいなところとは取引やめるわな (w
226 :
デフォルトの名無しさん :2014/01/17(金) 23:02:46.12
ハンガリアンが良いということはOOPがいかに冗長なコードを書かせるかって ことじゃないの? 実際に使いやすいしね。 使いやすいってことは何かがダメなんだと思う。
何が言いたいのかわからない
不自由な日本語
教育勅語
自由な日本語でしょ
美しい日本語
ハンガリアンは20年前の貧弱な開発環境を補うために生まれた知恵だよ
233 :
デフォルトの名無しさん :2014/01/18(土) 01:39:26.02
じゃあエイリアンは?
>>224 アプリケーションハンガリアンとシステムハンガリアンの両方禁止されてんの?
235 :
デフォルトの名無しさん :2014/01/18(土) 03:39:10.65
ホゲが良いということはチョージンンがいかに冗長なコードを書かせるかって ことじゃないの? 実際に使いやすいしね。 ホゲに嫉妬するチョーンジンは何かがダメなんだと思う。
江○添:アスペ(人との会話のキャッチボールが困難) qz:糖質(さらに妄想が見えて不可解な言語を繰り返す) 片○山:ただのばか C/C++自体が疾患みたいなもの
チョーンジンってなんだよ。
挑戦人
嘲餞人
>>234 アプリはOKだがそれもあんまり使わないなあ。
ところで r ⇔ l (右辺値 ⇔ 左辺値)のプレフィクスってシステム?アプリ?
>r ⇔ l (右辺値 ⇔ 左辺値)のプレフィクス ちょっと何言ってるかわからない
>>242 右辺値に r_xxx
左辺値に l_yyy
といった変数名を使うって意味だけど?
×右辺値 ○右辺値参照 ×左辺値 ○左辺値参照
参照を表すために ref_???/rref_???/lref_???/x_??? とするならまだしも l_???/r_???とかアホ杉
>>244 そういう使い方を名前で明示する意味がわからないって事だと思うけど
〜Wikipedia ハンガリアンより〜 『クラス CHoge』
>>233 平安京エイリアンのために作られたんだろ (w
class A { B b; //明らかにシステハンガリアン A(A && rr_other) : b(move(rr_other.b)) {} //どちらかというとアプリケーションハンガリアン A(A && xv_other) : b(move(xv_other.b)) {} };
template <typename T> auto func1(T&& r_xxx); template <typename T> auto func1(T& l_xxx); template <typename T> auto func(T&& val) { func1(std::forward<T>(val)); ・・・ } func->func1に転送 func1がオーバーロードされてて、その引数名とか
>template <typename T> >auto func1(T&& r_xxx); 右辺値参照か左辺値参照かでなく &の数でハンガリアンとか、死んだ方がいいね。
func1の場合はそれでいいんじゃね? 使うかどうかは別だし 、実際には使ってないんだろう。
>>254 Tがint&の時r_xxxはint&だろ。func1は良くねーよ
つーか、ハンガリアンに頼らなくても可読可能なコード書けや! このΗοGe野郎ども!
そりゃfunc1はfuncから呼ばれる以外の使い方はされないて前提なんだろ
>>257 funcが左辺値で呼ばれたらTはint&だろう。
double &&rref_pi = 3.1; const double &lref_e = 2.7;
>>253 > 右辺値参照か左辺値参照かでなく
> &の数でハンガリアンとか、
>>252 の例だと右辺値参照/左辺値参照の別と&の数は一致してるはず。
>>255 > Tがint&の時r_xxxはint&だろ。
その時func1の上のバージョンは呼ばれないだろ
ふむふむそんな糞な使い方が
あのー 「右辺値参照と左辺値参照のプレフィクス使いますか?」なんて聞いてないし、使ってもないんだけど。 それがシステムハンガリアンにあたるのかアプリケーションハンガリアンなのか聞いてるんで。
あまりに奇をてらったゴミレスだったので相手にされなかったことに気づかないらしい しかも251が読めない文盲
まあ、その、あれだ キミの為だけにこのスレがあるわけでもないし、キミの為だけに書き込む義務も無いわけだ 書いてる人間が楽しけりゃいいんだよ ぶっちゃけハンガリアン何てどうでもいい
ハァ?
お前ら自分が無知のクセに開き直ってんじゃねーよ
何に使うかじゃやくてどっちに分類されるのか
>>241 に答えられないだけだろ低膿共
そんなことより変数名に日本語使おうぜ int main() { const double 半径閾値_キロ = 3.0; double 半径_ヤード = g.getExtent(); if ( 半径_ヤード * 0.91 > 半径閾値_キロ * 1000 ) ; } 変数名から必要な情報を察しやすくする目的なら 次元とか型だけじゃなく変数の意味がわかりやすい方がいい
threadでjoinをタイムアウトさせたい どうしたらいい?
>>268 > 次元とか型だけじゃなく変数の意味がわかりやすい方がいい
それをアプリケーションハンガリアンと呼ぶんだろ
ところでヤードとメートルの使いわけとか今だったらどうやるのがいいのかね?
std::ratioとか使うのかな?使ったことないけど。
>>269 "join"の定義はさておき、自前の疑似joinでがんばります。
<サブスレッド側>
処理の最後で
ミューテックス ロック {
完了フラグ←true
条件変数をnotify_all
}
<待つ側>
ミューテックス ロック {
完了フラグ==trueなら戻る
条件変数でタイムアウト待ち
}
threadのデストラクト前に一度だけthread::joinを呼び出す。
>>271 なんでもかんでもduration_castみたいなことは限界があるのでやめたほうがいい
>>264 使う意味が無いものに対して考えても無駄だろ
>>274 意味のあるなしを判断するのは、多分君には無理。
その言い方でわかってしまうよ。
C++11よくわからんけど、
>>272 のレスから察するとC++11のthreadってタイムアウト設定できないのか
なんか中途半端なthreadライブラリだな。
277 :
デフォルトの名無しさん :2014/01/18(土) 18:58:37.42
どの言語だろうとスレッドのタイムアウトくらいテメーで実装できるだろボンクラ
出た!コミュ障w
普通、スレッド(各種ライブラリ)はテメーで実装するよな ほんとC++はゆとり言語になっていくな
std::thread::joinをスレッドの終了待ちに使えるのはごく限られた単純なケースだけだから こんなのはPOSIXスレッドを使ったことがあれば常識
C++はゆとり言語になんてなっていないのに勘違いしたゆとりが勝手に手を出してるだけ
参入者を増やしたくないのか????
>>280 そのPOSIXの仕様がどうしようもない糞だというのがわからないのか
284 :
デフォルトの名無しさん :2014/01/19(日) 16:55:36.63
C++でコーディングするときはどんな音楽を聴いていますか?
めうめうぺったんたん
FMエアチェックしたものが多いな。 だからジャンルまちまち。 懐メロ、ジャズ、クラ、邦楽・・・
end of all hope.
クラシックとかスヌースジャズいいね。
プリキュアの歴代エンディングをループ
江添さんチーッス!
291 :
デフォルトの名無しさん :2014/01/19(日) 22:58:52.45
YouTubeで「作業用」で検索して出てきたやつを適当に聴いてるわ。
リアルタイムでNHK FM セッション2014 -川村竜トリオ- インクルードヘッダの見直し中
unique_ptrを受け取ってメムバーにmoveする 関数を作りたいのですが void set_resorse(unique_ptr<R> res); void set_resorse(unique_ptr<R>&& res); どちらの書き方がよいですか?
「resorse」で始まる - 英和辞書の検索結果 検索結果は見つかりませんでした。 他の辞書での検索、検索ワードの変更を試して頂けますでしょうか。 候補キーワード resource remorse resort resole recourse
「メムバー」で始まる - 国語辞書の検索結果 検索結果は見つかりませんでした。 他の辞書での検索、検索ワードの変更を試して頂けますでしょうか。
好きなゲームの戦闘音楽とかきくよ テンション上がってコーディングがはかどる
ショパンをぉ… 糞オタなのでアニソンループだよ悪いか。
アニソン・・・・・・ ガッチャマンとかパーマンとかか・・・・・・・
>>293 noexcept じゃないってことは失敗する可能性があるってことだとして、
前者だと失敗したときにオブジェクトが死んじゃうことが避けられなくて嫌な感じ。
300 :
デフォルトの名無しさん :2014/01/20(月) 02:12:52.93
すべてのオブジェクトを司る不老不死のオブジェクトを作成すれば良い
>>302 最近(?)はやりの重厚な設定や衝撃的かつ悲壮な展開,とかいうやつですか‥‥
::new[](std::nothrow) のオーバーロードに疲れました‥‥
サヨナラ‥‥
304 :
デフォルトの名無しさん :2014/01/20(月) 03:19:22.09
>>304 タケコプターなしで自由に飛び回るその映像は何度見ても違和感を感じる。
もうジャンプ力とかそういうレベルの問題じゃないしな。
もうちょっとなんとかならなかったのかな。
こんなにガンガン叩きつけるように切ってたりコンクリート切ったりしてたら 刃はボロボロだろうな
空中で剣を叩き合うとか作用反作用の法則に反してるだろ こいつらゴムの剣で戦ってんのか
308 :
デフォルトの名無しさん :2014/01/20(月) 16:28:01.13
プリキュアのダンスは3Dで作ってモーションキャプチャで動き付けて。 トゥーンシェーディングかけてあるらしい。 ITの粋を結集してある。
そうだなgdgd妖精は最高だな
>>309 そういうのを可能にするシステムってやっぱC++とかで地道に作るものなの?
あれ?俺の知ってるぷりきゅあとは違うぞ
>>311 Maya使ってるんだとしたらC++とそれで作られた専用組み込み言語とPython
314 :
デフォルトの名無しさん :2014/01/20(月) 22:16:01.61
江○添さんがプリキュアでハァハァしてると聞いてやってきました。
なんだかんだで、未就学児抱えてる男なら知ってるプリキュア そっから上になると、アイカツとかポケモンが押さえてる 作業BGM?とりあえずキュアメタルループしとけば
キュアソードが一番可愛い♪
キュアソードがどれかわかんねーよ キャラ数多すぎだろ どっかに一覧ねーの?
サーバ名は歴代プリキュアでキメようぜ
僕はキュアドリーム
だからわかんねーって キュアドリームってどれよ どっかに一覧ねーの?
>>319 キュアを除けば(普通の人には)意外とバレにくい気もする
星座なんかより一般的な名称が多いし案外アリかもしれないな
Wikipediaはそんなものまで載ってるのか。
>>319 個人でそんなに鯖持たないだろw
俺でも物理鯖2台、そのうち1台ではバーチャル鯖4台の計6台だぞw
>>325 いまや個人で自宅に俺様クラウドを構築しているが多いだろ
プログラム作る奴なら数台の物理鯖で俺様クラウドや俺自作ソフトで分散処理している奴も多いだろ
アニオタマは複数台のPC・鯖でエンコシステム構築って多いだろ
個人宅でパーツの寿命やら電気代やらに気を遣いながらサーバー構築するよりも、 Amazonでさくっとクラウド借りてシステム作った方が安上がりだしスケールアップ容易だし。
レンタルサーバの方が責任押し付けられるしね あと、個人に対するアタックはグレーで、企業に対するアタックは黒じゃなかったっけ?
マルチコアのおかげで昨今分散処理するほどコンパイルに時間がかからぬ PCは母艦とノート1台でお腹いっぱい
>>331 なんだかよくわからないけど大変そうですね。
もちろん開発はC++主体ですよね?
>>332 うんC++
大変とは思わないかな
好きでやってるわけだからなw
>>305-307 スキルというファンタジー世界の物理法則が作動した結果
…ということにしておこうよ、可哀想だから。なんであっちに走ったんだろうなぁSE…
struct hoge { typedef const int& value_type; hoge(const value_type&){} }; error: cannot declare reference to 'const int&' eclipseだとエラーが出ます。vcだと出ません。何故ですか。
それはVCが腐っているからです
const constになっちゃうからじゃね
338 :
デフォルトの名無しさん :2014/01/22(水) 11:02:17.19
>>335 お前の頭が腐ってるからだろうが
hogeキチガイは失せろ
しばらくなりを潜めていたチョーセン人がまた暴れ出したな 死ねばいいのに clang 3.5でもエラーなしでコンパイルできる
参照の参照はできるはず 8.3.2p6 TR that is a reference to a type T, an attempt to create the type“lvalue reference to cv TR”creates the type “lvalue reference to T
チョーセン人死ね死ね死ね死ね死ね死ね
いつからeclipseはエラーメッセージを出すようになったんだ?
344 :
デフォルトの名無しさん :2014/01/22(水) 12:27:42.21
hoge使いより知能が低いチョーセン
>>344 も、いつものhoge荒らしによるage攻撃
糞は苦いからな
348 :
デフォルトの名無しさん :2014/01/22(水) 14:10:44.94
荒らすなよ hoge使いより知能の低いチョーセン人
349 :
デフォルトの名無しさん :2014/01/22(水) 14:12:10.72
「age攻撃」などという妄想をまき散らすなチョーセン人
hoge本で学習すると
>>335 みたいな馬鹿が出来上がる。
自分がチョーンジン妄想してることを棚にageたぞ チョーンジンはageが好きなのかな
353 :
デフォルトの名無しさん :2014/01/22(水) 17:46:29.26
バカよりも低脳のチョーセン人 死ね
相変わらずage攻撃を続ける韓国人
アンチhogeって平日の昼でも基地レスできるんだな そんな奴だからアンチhoge基地になるだろうが
一文目と二文目の関連が全くないうえに基地レスとか思い込みで書き込んでる辺り頭良さそう()
「そんな奴だからアンチhoge基地になる」 ↓ 「平日の昼でも気のふれたレスできるから アンチhogeのキチガイになるんだろうが」 論理性のかけらもない中傷以外の何物でもない。
358 :
デフォルトの名無しさん :2014/01/22(水) 20:27:22.45
遺伝的に論理的な思考が不可能なチョーセン人が何を言ってるんだか…
hage
>>358 まともな精神を有さないからhogeって言葉で発狂するんだ
個人的な思い込みに基づいて"hoge"の使用に過剰な反応をする人がこのスレに住み着いていて、 最近は「hoge禁止」がスレ住人の総意であるかのように見せる工作を繰り返しているようです。 あまり気にしないでやってください。
ha, hageてないわ!!!
こういう論理積(和)の条件式を複数行にするときってさ if (a == 1 && b == 2) { ↓どっちがメジャー? if (a == 1 && b == 2) { if (a == 1 && b == 2) {
>>360 そもそもまともな精神を有していればhogeなんか使わない
367 :
デフォルトの名無しさん :2014/01/23(木) 03:03:24.44
民族全体でマトモな精神を有していないチョーセン人
ハゲ「おまえらそんなフサフサでマトモな言語設計できると思ってんのか
こんな言語設計がマトモでたまるかハゲ!
370 :
デフォルトの名無しさん :2014/01/23(木) 17:02:13.77
>>364 俺も前者がデフォ
後者でも拒否反応は起こさないが
371 :
デフォルトの名無しさん :2014/01/23(木) 19:02:28.77
俺もグラボはゲフォ ラデオンでも拒否反応は起こさないが
>>364 どっちかって言うと後者
多分批判する奴多いだろうけど、各条件の頭をタブて揃えるために
if(
a == 1
&& b == 2
) {
のように書いてる。
それはやりすぎだろ
前者は労害の教科書に洗脳された馬鹿か 行指向のプログラミング言語使用者。 後者は自分の頭で物事を考えられる人間。 複数の条件がANDで繋がっていることの 視認性を高めるなら後者は必然。
375 :
デフォルトの名無しさん :2014/01/23(木) 22:23:15.70
>>374 まあいいんだけど、最終行だけ浮いてるね
それまでのご高説とさっぱりつながらないんだが
376 :
デフォルトの名無しさん :2014/01/23(木) 22:43:24.56
>>364 どう考えても
if( [a,b] == [1,2] )
ってやりゃ済む事
これさえもできないC++とか、すべてにおいて負け犬のレッテル貼られてもおかしくないレベル
377 :
デフォルトの名無しさん :2014/01/23(木) 22:48:34.75
ラムダ式とは何か憶えてからまたおいで
>>376 アスペってホントにコミュニケーションができないのな。
379 :
デフォルトの名無しさん :2014/01/23(木) 23:05:28.57
>>377 C++みたいなオブジェクト指向言語使ってる奴がラムダの何を知っているか逆に聞いてみたいレベル
静的言語で使ってるそれはクロージャ()って呼び方に統一してほしいな
全然ラムダの範囲に入ってこれていない言語なのだから
条件1成立() && (a=makeA()) != nullptr && calcX(a) > 100
これを
>>376 の様にしたら不自然だろ。
それに
>>376 の様にしたらたいていは
要求仕様との対比が取りづらくなる。
381 :
デフォルトの名無しさん :2014/01/23(木) 23:18:02.03
>>379 関数型いやクロージャ型の定数、それ以外何があると言うんだ?
俺ルールの「範囲」とやらは論外にも乗り遅れた妄想にすぎないんだが
静的でない童貞言語って具体的になんだ? ECMAScript?
383 :
デフォルトの名無しさん :2014/01/23(木) 23:23:58.80
# ruby2.1.0
a = 1
b = 2
p [a,b] == [1,2] # true
>>381 ゴミ
スクリプトに脳みそをやられたか
こんなところに乗り込んできたって得るものなんかないから帰りな。 誰も困らないようなどうでもいいことを取り上げて叩くのはツボ外し過ぎだって。
よくわからないけど
童貞の
>>379 がC++スレに乗り込んできて
性的脳のC++erと童貞脳とのコミュニケーションが
成立しなかったということ?
>>386 アスペってホントにコミュニケーションができないのな。
388 :
デフォルトの名無しさん :2014/01/23(木) 23:37:50.67
extern class HOGE; って宣言したクラスって HOGE *hoge = new HOGE; ってできるんですか?
389 :
デフォルトの名無しさん :2014/01/23(木) 23:41:10.31
>>388 2chに書き込むより自分でソースコード書いて試したほうが早いってレベルにさっさとなれ
>>386 童貞の
>>379 がC++スレに乗り込んできたけど、
何が言いたいのかさっぱりわからなかった、ということ。
その原因は、本当に言いたいことを言う度胸がない、の一点。
>>388 は知りたいんじゃなくて荒らしたいだけなんだよ
アンチhogeを煽ってスレをカオスにするのが目的
長くなった文の折り返しは、オレも後者だな。 条件に限らず1文を折り返すときは、行頭で継続がわかるようにしてる。 aaa.bbb->cccなら aaa .bbb ->ccc みたいな感じ。
>>388 はいつものhoge基地害。
hoge禁止されたことに反抗して質問しているふりをしている。
これだけでも(ルールに従わないので)迷惑なのに
時々自分の初歩的な誤りを指摘されると
「オマエら馬鹿だなばーかばーか」と開き直るのが困りもの。
俺も後者 行末だと凸凹して接続関係が分かり難い
>>364 if (a == 1 && b == 2)
{
396 :
デフォルトの名無しさん :2014/01/24(金) 01:50:58.87
そこまで長大な条件文になってくるともう分割するけどな。 if ( a == 1 ){ if ( b == 2 ){ } }
397 :
デフォルトの名無しさん :2014/01/24(金) 01:54:17.97
最初は a == 1 && b == 2 こう書いてたけど 後から c == とか足したくなった時に面倒だと気づいて a == 1 && b == 2 こうなった
> a == 1 >&& b == 2 JavaScriptでハマる
自分の場合長くなりすぎる場合はifの前段で const bool ab_disable= (a==1 && b==2); if(ab_disable && cd_enable) って感じで分けるな 名前付けることによって何の条件なのかわかりやすくするためにも if文自体を分けることは滅多にない
>>399 cd_enable は どこで評価するの?w
>>400 書いてる途中でめんどくさくなったから端折っただけだ。
それぐらい脳内補完してくれ
>>401 てことは ab_disable が 偽であれば省略できる評価を常に行うの?w
前者はifの後の視認性が悪い感じがする if (expr1() < 0 && expr2() > 0) { func1(); } if (expr1() < 0 && expr2() > 0) { func1(); }
405 :
デフォルトの名無しさん :2014/01/24(金) 03:16:16.26
>>405 REPLじゃない?
;省略出来たりするから
407 :
デフォルトの名無しさん :2014/01/24(金) 04:29:45.62
JavaScriptって書いてあるのが読めないのか ダメだなこいつ つかえねー
408 :
デフォルトの名無しさん :2014/01/24(金) 04:39:35.97
>>403 C++使いながら短絡評価を活用しない奴ってなんなん
そりゃやりすぎもいかんけどさ
>>407 1, ECMA? おまえはJavaScriptではない!
2, ECMA? JavaScriptだ。しかし;省略出来るようなREPLはJavaScriptではない!
3, REPL? Perlの事か?JavaScriptではない!
1や2のケースならごめんなさい。
でも、どうも3である可能性が否めないんだよなw
>>405 ifみたいに()でくくる場合はいいけど
代入やreturnなど()が不要な場合、行末で文が終了してしまう。
演算子で終わってれば次行に継続する
;が省略できるなんて言語仕様として終わってるなJavaScript 数多のトラブルの元でしかない
ブロック終端の直前のみ省略可能ならおk
374 デフォルトの名無しさん sage 2014/01/23(木) 22:19:03.55 前者は (略) 行指向のプログラミング言語使用者。
あー確かに自分のプログラムは前者で書いているなぁ。
416 :
デフォルトの名無しさん :2014/01/24(金) 13:24:57.53
後者のように演算子が行頭にあった方がわかりやすい 特に3項演算子
417 :
デフォルトの名無しさん :2014/01/26(日) 04:22:59.10
>>416 必殺技考えた
「おまんこ炎斬刺」
とかどう?
418 :
デフォルトの名無しさん :2014/01/26(日) 09:09:18.70
散靠炎斬熾なら必殺技っぽい。
419 :
デフォルトの名無しさん :2014/01/26(日) 09:25:51.77
散靠炎斬熾なら必殺技っぽい。
コンパイラーさんからしてみたらブレース前の;とか 無用の長物すぎワロタ エラーメッセージとか出すの 超ダルイんですけどみたいな感じだろ
>>420 ブロック終端の直前のみ省略可能ならそれでいいけど
実際はそうじゃなくても省略可能だったりするのがJavaScript
422 :
デフォルトの名無しさん :2014/01/26(日) 22:22:42.50
からの〜?
コンパイラーさんはむしろ、なんだろうこの「}」は? もしかしてセンテンスの終わりか? といちいち頭を使わなくてはならない。 「;」があれば、「}」が来て即「ここまでがブロックだな」と分かる。
424 :
デフォルトの名無しさん :2014/01/27(月) 00:56:56.13
からの〜?
422 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん 424 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん
425 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん
426 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん
420 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん
413 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん
なんだ?
430 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん
朝鮮人uyが火病を起こしているのです
433 :
デフォルトの名無しさん :2014/01/27(月) 11:12:22.64
配列初期化子の最後の , あたり、
>>423 が言うようになってるね
432 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん 433 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん
↑ オウム返ししか出来ないクズ
435 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん 436 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん
hogeノイローゼが一段落したと思ったら 今度はなんだ?
425はHOGEの次はからのに粘着し始めたのか。 一種のアスペじゃね。
440 :
片山博文MZ無能 ◆T6xkBnTXz7B0 :2014/01/27(月) 16:39:53.93
ZIPお断り
442 :
片山博文MZ無能 ◆T6xkBnTXz7B0 :2014/01/27(月) 16:47:26.00
ちょっとおもろかったわ ええ感じや
Visual Studio 2010でコンパイルして、「デバッグ」メニューの 「例外...」をクリックして、全部にチェックを入れて、「OK」ボタンを クリック。「デバッグ開始」すると、例外が発生する。 何でだろ。。。
we留守
どれのことかわからんが 通常動作は初回例外を無視して同じ例外の2回目の発生をトラップする だから気づかずに内部で例外を流してるのはよくある
448 :
片山博文MZ無能 ◆T6xkBnTXz7B0 :2014/01/27(月) 21:37:15.99
助けてくれよぉ〜〜
普段無視してる例外だろうから無視する設定に戻せということ 具体的にどれかわかればまた違う原因かもしれん
>>451 ほとんど当たり前のことしか書いてないんだから、関数オブジェクトの方が普通の関数より早い理由をもっと掘り下げてくれよ。
>>451 いまどきのコンパイラなら無駄な努力だろこれ
T x = a + b;
T x(a);
x += b;
454 :
デフォルトの名無しさん :2014/01/28(火) 07:22:37.15
っていうかバイナリレベルの最適化が必要なら インラインアセンブラの利用を検討した方が良いと思う
>>453 gccとVCだと、そこにあるとおり string ではまだ有効みたいね
clangは試してない
template<typename T> void hoge( T* t ) { struct hage { static void hige(void* p) { T* t = static_cast< T* >(p); } }; hage::hige( t ); }; C++03でローカルクラス内部でT型を使う事は出来ますか
よく知らないが03はテンプレートとローカルクラスの 相性が悪い気がする。
精神病患者は来なくていいから
460 :
片山博文MZ無能 ◆T6xkBnTXz7B0 :2014/01/28(火) 16:17:42.74
461 :
デフォルトの名無しさん :2014/01/28(火) 16:35:37.24
uyが精神病というのははっきりしたな
464 :
457 :2014/01/28(火) 19:41:10.03
>>458 申し訳ありません。
つい猿のように反応してしまいました。
以後気をつけます。
枕はプリキュアじゃないけど壁紙はプリキュアだよ
C++11ではconstメンバ関数はスレッドセーフにせよってことになったらしいけど、 参照メンバやポインタメンバがあると、mutableじゃなくてもconstメンバ関数経由で 実質的に状態が変わっちゃうよね。
参照やポインタそのものは変わってないからな。そいつが指す先なんて知ったこっちゃない ポインタの指す先をそのオブジェクトが所有していないケースも多々あるし
状態が変わる以上(自動的には)スレッドセーフにはならないよね。 参照キャプチャしたラムダ式だってそうなってるんだし、 constメンバ関数内でmutex使う義務なんて課されても困る。
>constメンバ関数はスレッドセーフ これはstdに入ってる奴だけでしょ
まったくその辺知らんがvectorやなんかのconstも内部でクリティカルセクションもつってこと? いやや、そんなvector使いたくない…。io系だけかな
std::vector<int> v; void thread1() { v.size(); } void thread2() { v.empty(); } これらの呼び出しは安全ですよってだけだよ 一つでも内部状態を変更するスレッドがあればスレッドセーフではなくなるけど
マルチコア使っててわけのわからんバグが出るようなのは避けたい
ラムダとかbindとかファンクタ系のやつは複数スレッドで同一オブジェクトを使わずコピーしろ、でOK。 必要ならmutableも使いなはれ。
C++に限らず、インタプリタ含む古参言語は軒並みマルチスレッドに悪戦苦闘していて面白い
>>471 >呼び出しは安全
>内部状態を変更するスレッドがあればスレッドセーフではなくなるけど
よくわからんが、サイズがvolatileで管理されてんのか?
メモリバリアしてマルチコア対応しても、
コンパイラが生成するコードが実メモリに書き出すコード
になっていることを保証しないと意味が無いのだが。
volatileじゃないと困る場面が分からん
>>466 スレッドセーフとか,言語側で保証することじゃないとどーしても思うが…
volatileが使い物になった試しはないな 結局OSのシステムコールになる
メモリマップされたハードウェアレジスタ読む時
からの〜?
482 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん
484 :
デフォルトの名無しさん :2014/01/30(木) 19:42:32.72
また自演荒らしが始まったか
485 :
デフォルトの名無しさん :2014/01/30(木) 23:02:16.54
からの〜?
486 :
デフォルトの名無しさん :2014/01/31(金) 01:06:16.21
NGワード推奨: [あぼ〜ん]
487 :
デフォルトの名無しさん :2014/01/31(金) 01:35:46.16
からの〜?
きょうかい
労害ジジイだけでも迷惑なのに アニヲタとかマジやばい
これはコロコロかわるから、最適化すんなよ。って強い意志。 > volatile
newメモリ以外のリソースをライーしたいのですが ラッパーを作うかunique_ptrを使うか、どちらがよいでしょうか? unique_ptrだとリソースがポインタ型じゃないと使えないですよね? unique_ptr<unko, function<void(unko*)>> res(open_unko(), [=](unko* p){close_unko(p, sub_data)});
プリキュア好きはアニヲタではない。
DJができるラッパー希望 チェキラ
>>491 struct HANDLE_deleter
{
typedef HANDLE_deleter pointer;
void operator () (HANDLE handle) {
::CloseHandle(handle);
}
};
typedef std::unique_ptr<HANDLE, HANDLE_deleter> Handle;
こんな感じで使ってる
>unique_ptr<HANDLE, HANDLE_deleter> unique_ptr<VOID, HANDLE_deleter> じゃないの?
間違えてた ×typedef HANDLE_deleter pointer; ○typedef HANDLE pointer; こうすれば unique_ptr<HANDLE, HANDLE_deleter>で大丈夫
ポインタではないものにunique_ptrという名前を使うことの是非の話ではないのか
>>495 ポンタはずしは
std::unique_ptr<std::remove_pointer<HANDLE>::type,HANDLE_deleter>
そこまでしてHANDLEというvoid*を抽象化した型に unique_ptrとかremove_pointerを使いたいか? ラッパでいいんじゃね
ラッパって要するに自作のスマポでしょ? そんなの作るより既にあるものを使った方がいいだろう
機能的に条件を満たしていても名前が中身とあっていない糞な部品は使うべきではないね
名前なんてそれこそtypedefでいいだろ
unkoのデリーターって ようはunko delでしょ?
おまいらのスマポのノウハウおせーて 扱いむずかぴー
便乗だがunique_ptrのクローンてどうやって作る? てかなんでcloneメソッドがないんだっけ?
クローンなんて作ったらuniqueじゃなくなるじゃん
いや資源を共有するわけじゃなく、こういうp2を作りたいだけ。 std::unique_ptr<T> p1(new T); std::unique_ptr<T> p2(new T(*p1));
それでいいじゃん
std::unique_ptr<T> p2(p1.clone()); と書けちゃまずい理由でもあるの?
バイナリが増える
std::unique_ptr<T> p2(p1.get());
でも、
std::unique_ptr<T> p2(p1.release());
でも、
std::unique_ptr<T> p2(static_cast<std::unique_ptr<T>>(p1))
でもダメだな。
>>511 どういう意味?
単にstd::unique_ptr<T>のprvalueを返すだけなのに。
deleterがカスタマイズできる以上勝手にポインタを参照して クローンを作ろうとするのはダメだろ。 ポインタがnewで作成されているとも限らないし、global new かオーバーロードされたnewかどうかもわからない。
だからメソッドとして必要だって話じゃね?
>>514 だから標準のメソッドとして作るのは難しい。
上みたいにHANDLE型を入れて使ってるやつもいる。
cloneなんてメンバ関数なくて正解ということで
なくていいというか入れるのが難しいって意味か。 deleterがallocatorを兼ねてればできたのかな。
そもそも意味論的にcloneは変だけど、ファイル間の依存関係をなくしたいから pimpl的に使いたいことは多々あるんだよね。標準でpimpl入れてほしい。
そもそもunique_ptrをメンバに持つクラスのコピコンはどうするのが普通?
何も書かないな だからコピーできないわ
>>520 uniqueだから、コピーはだめじゃないのか。moveコンでよろしくじゃない?
unique_ptrはコピーできない。汎用的なクローンも実装できない。 shared_ptrは占有できない 自前の資源を自分でdeleteとかするのはやめてスマートポインタに任せましょう、って言われてもな。
設計が糞なのを見直せ
>>525 占有の資源を持ち、コピーが必要
OOPクラスではなく、値のセマンティックスをもつ
それが糞な設計だというのか?
>>526 多分
>>525 は、
>OOPクラスではなく、値のセマンティックスをもつ
これで設計が糞とか条件反射で言っちゃうオブジェクト脳
528 :
デフォルトの名無しさん :2014/02/01(土) 18:45:33.98
〇〇脳とレッテルを貼ったところでお前の知能の低さは改善されない
底辺職は知能の低いやつがつくもので 改善したら底辺職卒業するよね
俺より下の奴はみな底辺 したがって俺は底辺よりほんの少し上
>>528 そこまで言うなら具体的にどうぞ。
クラス B はT型のオブジェクトをひとつヒープ上に所有する
Tはコピー可能な型
クラス B は所有権の解放を自力でやるのは避けたい
ここでクラス B にコピーコンストラクタを実装するにあたり、あなたのおっしゃる正しい設計とは?
ここはhogeの出番だな
hogeなら何でも反応してるわけじゃないみたいだな。 単にレス中にhogeがある ⇒ 放置 hogeを識別子として使用する ⇒ 火病
static unique_ptr<hoge, function<void(hoge*)>>
hoge_res(open_hoge(), [=](hoge* p){close_hoge(p, sub_data)});
>>534 、さー、どうなるか楽しみ
またキチガイがすれを荒らしてんの?
キチガイが現れたぞー逃げろー
じゃあstdにhogeが入ったら・・・!
std::enable_hoge std::remove_hoge std::is_hoge std::hoge_type std:::hoge_constant
>>539 SFINAEで使えそうだな
typename enable_hoge<is_same<T, hoge>::value>::type* =0
>>540 粘着命のアンチhogeとなんか精神似ているんじゃないか
unique_ptrはauto_ptrの改良型だからな 所有権が移転する でもコンテナに入れられる要件を満たしている cloneなんかしたらカウンタが必要になるからshared_ptrとかじゃないと対応しない
>>543 shared_ptrは資源の共有だから占有できないよ
ハンドルみたいなのは値型としてふるまうようにラップして、 その上で生成タイミングを多少コントロールしたいならboost::optionalに突っ込むのが楽かな。
new T(*p1)とp1.clone()を等価に働くようなメソッドcloneを定義するべきだと言っているんですよね? 例えばnewに限定すれば、 template <class T> class UP : public std::unique_ptr<T> { public: UP(T* t) : std::unique_ptr<T>(t) { } T* clone() { return new T(this->operator*()); } }; とできるが、std::unique_ptr自体をcloneしていないから名前が悪い。 cloneが意図した以外の場所で使われると(newしてるから)まずい。 よって必要ないし、あってはいけないメンバ関数だと思います。
名前はmake_unique_copyあたりにしとけば問題ないだろう。 必要無いというのには同意だけど。
549 :
デフォルトの名無しさん :2014/02/02(日) 16:36:58.51
からの〜?
550 :
デフォルトの名無しさん :2014/02/02(日) 16:43:30.18
hoge_unique_copy
551 :
重要 :2014/02/02(日) 17:26:01.03
【重要】
hogeの使用は荒らし行為として禁止されています。
使用しないでください。
万が一hogeが書き込まれても、スルーしてください。
相手にするとあなたも荒らしと同じ扱いになります。
※
>>1 を読んで下さい
552 :
デフォルトの名無しさん :2014/02/02(日) 17:33:10.45
チョーセン人がhoge禁止と慰安婦像をたてていますが、無視してください hogeは禁止されてません
hogeが禁止されてないとかw 韓国人は本当に息をするように嘘をつくなあw
>>547 名前は別として T*を返すのは変だろ
template <class T>
class UP : public std::unique_ptr<T> {
public:
UP(T* t) : std::unique_ptr<T>(t) { }
UP(UP<T>&& t) : std::unique_ptr<T>(std::forward<UP<T>>(t)) { }
UP<T> clone() {
return UP<T>(new T(this->operator*()));
}
};
として、こうやりたいんじゃない?
↓
UP<int> up1(new int(1));
UP<int> up2(up1.clone());
*up2 = 100;
555 :
デフォルトの名無しさん :2014/02/02(日) 18:13:21.12
・hogeを使うと火病るチョーセン人が現れた ・チョーセン人はhogeが使われるたびにスレを荒らした ・チョーセン人はスレが荒れる事を口実にhoge禁止というルールを自演で作った ・チョーセン人が独断でテンプレにhoge禁止を入れたスレを立てた ・チョーセン人に反発する人がテンプレでhogeを禁止しないというスレを立てた ・チョーセン人はhogeコピペでスレをつぶした ・チョーセン人に反発する人がテンプレではhogeに触れていないスレを立てた ・チョーセン人はhogeが出てくるたびに口汚く罵り続けた ・チョーセン人が独断でテンプレにhoge禁止と書いたスレを立てた ← 今ここ
この迷惑な人まだいたのか・・・・
558 :
デフォルトの名無しさん :2014/02/02(日) 18:19:42.97
チョーセン人は人ではない 「チョーセン人」と言う生き物
>>556 別に。
newしてもう一つのunique_ptrに突っ込めばいいんじゃない?
>>556 >>531 の場合はnewに限定なんだから問題ないだろ?
手動でnew/deleteを書くのがいやだって言うならcloneでもなんでも作りゃいい。
ってここまで書いて思ったんだが、あんたは単に「make_uniqueが欲しい」って
言ってるだけなんじゃない?VCだったらあるみたいだよ。
【重要】 慰安婦像の建築は荒らし行為として禁止されています。 万が一慰安婦像が建てられても、スルーしてください。 相手にするとあなたも荒らしと同じ扱いになります。
・慰安婦像を建てると火病る日本人が現れたニダ ・チョッパリは慰安婦像が建てられるたびにスレを荒らしたニダ ・チョッパリはスレが荒れる事を口実に慰安婦像禁止というルールを自演で作ったニダ ・チョッパリが独断でテンプレに慰安婦像禁止を入れたスレを立てたニダ ・日本に反発する人がテンプレで慰安婦像を禁止しないというスレを立てたニダ ・チョッパリは慰安婦像でスレをつぶしたニダ ・日本に反発する人がテンプレでは慰安婦像に触れていないスレを立てたニダ ・日本人は慰安婦像が出てくるたびに口汚く罵り続けたニダ ・チョッパリが独断でテンプレに慰安婦像禁止と書いたスレを立てたニダ ← 今ここ
>>560 ,564
なんだよそういう事かい。
俺は欠けたピースを求めていたのか・・・
std::unique_ptr<int> p1 = std::make_unique<int>(999);
std::unique_ptr<int> p2(std::make_unique<int>(*p1));
VCでやってみたら確かにできた。
こだわっていたp2構築時のnew排除だけじゃなく全部なくて済ませられるんだな。
慰安婦と朝鮮人とかどこから出てきたんだよ 政治ネタは他所でやれ
なんでいちいち餌やりに出てくるんだよ...
>make_uniqueはC++14ドラフト入りが決まった
>>564 はいつの時代からタイムワープしてきたのか
template<typename... types> void add(types&&... なんでいちいち餌やりに出てくるんだよ) { this->data.emplace_back( forward<types>(なんでいちいち餌やりに出てくるんだよ)... ); }
>>569 何が言いたいのかよくわからんが、もっと過去形で書けばよかったのか?
571 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん
>>571 さすがC++er、低脳書き込みをあぼ〜んするプラグイン作ったのですか
574 :
デフォルトの名無しさん :2014/02/03(月) 01:02:30.48
低脳書き込みとは
573 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん
576 :
デフォルトの名無しさん :2014/02/03(月) 02:36:48.04
あぼ〜んの報告など投稿しなくていいからな
577 :
デフォルトの名無しさん :2014/02/03(月) 03:03:20.38
Cのほうにも書き込みましたが、教えてほしいことがあります!
578 :
デフォルトの名無しさん :2014/02/03(月) 03:04:21.91
Cのほうにも書き込みましたが、教えてほしいことがあります!
マルチの上に連投
580 :
デフォルトの名無しさん :2014/02/03(月) 05:31:58.57
からの〜?
580 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん
582 :
デフォルトの名無しさん :2014/02/03(月) 15:01:45.61
からの〜?
576 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん
NGワード推奨: [あぼ〜ん]
585 :
デフォルトの名無しさん :2014/02/03(月) 18:47:55.87
か ら の 〜 ?
586 :
辛野 :2014/02/03(月) 20:08:04.78
辛野ですが、何か用ですか?
>>565 make_unique、VCで使っていたが標準じゃなかったのか。
ideonで試してみたらエラーになった。気にしないけど。
587 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
ideon イデオン
ああ伝説の巨人ね
建設巨人イエオン
暗い嵐の夜だった
596 :
デフォルトの名無しさん :2014/02/04(火) 01:05:31.37
か ら の 〜 ?
クラスのメンバにコンテナを置いたとき,そのクラスのデストラクタでは,そのコンテナを delete しなくちゃならないんでしょうか? 自前でなんちゃってコンテナを書くなら,自分ならそうせざるを得ないのですが.
597 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん
>>597 コンテナをnewで確保したのならdeleteする必要がある。
メンバ変数として確保したのなら必要ない。
大きな釣り針
あぼーんとかからのー?で荒らしてるのって どうせ慰安婦とかチョーンジンとか投稿して荒らしてた奴なんだろうな
同一人物かどうかは知らんが同じくらい迷惑。
>>597 deleteだろ?冷静に考えるんだ。
myContainer* pC; というメンバがあるとき delete pC; と書くのに違和感があるか。
myContainer cont; というメンバがあるとき delete &cont; と書くのに違和感があるか。
後者に違和感を覚えないんだったら自作コンテナを書いている場合ではない。
コンテナの中身をdelete する話だとしても同様だ。
>>604 味方がそんなにたくさんいたらカオスだろうな
606 :
デフォルトの名無しさん :2014/02/05(水) 02:45:21.70
「ともだち」をテーマにして未来が何とかって言われるとあの映画を思い出すな
607 :
デフォルトの名無しさん :2014/02/05(水) 07:55:57.23
開発環境を変えたいんだけどなんかおすすめない? 現在は ・Borland C++ compiler 5.5 ・BCC Developer でコードを書いてる。 どうもコンパイラーが更新されてないしコンパイルした速度も比較的遅いほうみたいなんで、できれば変えたい。 あんまり遅くない統合開発環境でなんかおすすめありますか?
vs
>>607 visual studio でええんでないかい?
610 :
デフォルトの名無しさん :2014/02/05(水) 09:50:56.25
>>608 >>609 やっぱりVisual Studio推しの方が多いんですかね
昔Visual C++ Expressの2005とか2008を入れたことがあったんですけど、重すぎて結局使わなかったことがあるんですよ。
今2012とか2013とかがありますけど、使い勝手とかどんな感じですか。
昔のと比べるとそんなに変わってないが、PCの性能が向上したから無問題
Windows上で動かすアプリケーションなら何も考えずにVisual Studioでいいと思うけどねー
Mingwで良いんじゃね?
64bitとかWin8をやりたいのでなければそのままBCCにしとけばええ 最新wwwとか言っても使いづらくなるだけ
MinGWはいいけどBCCのままは有り得ないわ
まあBCCはないな コーディングする人間が古い環境にしがみついて離れられないってのはちょっと終わってる
617 :
デフォルトの名無しさん :2014/02/05(水) 11:04:07.13
ありがとうございます。
>>611 >>612 じゃあとりあえずVisual C++を入れてみます。
Visual Basic でも十分な程度のものを作るときもあるので、PC性能で重さが解決するならありがたいですね。
>>613 >>615 MinGWってコンソールアプリでしたよね。
Fortranをコンパイルすることもあるので、MinGWとかGCCも選択肢としてはアリかなと思ってるんですけど、統合開発環境にするのはなんか別のプログラムを用意しないとだめですよね。
その場合のおすすめってなんかありますか?
>>616 僕もそう思ったんで今相談してるんですよ。
なぜいまさらVB・・・
619 :
デフォルトの名無しさん :2014/02/05(水) 11:12:02.16
>>618 フリーパラメータが多い割に簡単なデータ処理しかしないプログラムを書くのが楽だと聞いたので。
その人が使ってたのはVB6なんですけどね。
バッチとCを組み合わせてもいいんですけど、それはそれで面倒な時もあるので。
バッチはすぐにスパゲッティみたいになりますしね。
目的と手段を取り違える阿呆に騙されるなよ
621 :
デフォルトの名無しさん :2014/02/05(水) 11:31:23.81
まあVBはおまけ程度です。ほんとに楽になればラッキー程度。基本はC++ですね。 いくつか試してみて一番使いやすい環境にに乗り換えようかなと。
昔のVBみたいな位置をC#が占めてる感じだな 手軽に作りたいならそっちがオススメ 間違ってもC++/CLIには手を出さないようにw あれは仕事などで事情があって嫌々使うものだから
625 :
デフォルトの名無しさん :2014/02/05(水) 12:11:50.10
>>622 ありがとうございます。
いろいろありますね。試してみます。
HSPは機会があれば勉強してみます。
>>623 あーなるほど、C#ですか。それも機会があれば勉強してみます。
C++/CLIはたしかによくわからないですね。説明を読めば読むほどわからない。
まあプログラムコード書くのが専門というわけではないので、そっちはちょっと縁がないと思いますね。
間違っても手を出すことはないと思います。
626 :
デフォルトの名無しさん :2014/02/05(水) 12:22:16.12
キチガイHSP厨はこんなところにまで出てくるな。
>>625 騙されるなよ。
HSPは産廃だから関わった時間の分だけ人生をドブに捨てることになるぞ。
言語仕様が欠陥の塊過ぎて利用者が全く増えないから宣伝に来てるだけ。
他の言語と違って言語開発者に金が入るから利用者が減ると収入減だから必死なんだよ。
ちなみに完成して公開してもダウンロードした人がHSP製だと気付けばゴミ箱行き。
まさにゴミ。
627 :
デフォルトの名無しさん :2014/02/05(水) 12:33:48.58
>>626 ご忠告どうも。
ただまあ繰り返しになりますけど基本C++がメインなんで、ほかの言語は気が向いたらやってみるかもしれない程度ですね。
C++で大体必要なことはできますからね。他の言語はもうちょっと楽できたらラッキー程度です。
まあFortranはソースコードだけ取ってきてコンパイルしなければならないこともありますけど。
まあvs2013ee入れとけば、c++もc#もvbも使えるんだし、損は無いと思うぞ MinGWでいいのならQt丸ごと入れる手もある 実はQt Creatorでもvcコンパイラも使えちゃうし
>>626 あれはそもそも公開するようなソフト作るためのもんじゃないだろ
プロプラなソフトをちょっと自動操作させたいときなんかに
完全にWin32apiに特化した開発言語は何かと都合がいい
こんなのをC#やC++で書いてたらそれこそ時間をドブに捨てる
>言語開発者に金が入る HSPってフリーソフトなんじゃねーの?
632 :
630 :2014/02/05(水) 13:29:15.38
>>631 いや開発者自身が本書いても別にいいじゃん
嫌儲ここに極まれり
彼はHSPに親を殺され人生をめちゃくちゃにされた復讐の鬼 一般人は関わってはならぬ
>>623 C#って未だにVB程度のポトペタが出来ないんじゃなかったっけ?
>>628 VS2010Pro使ってるんだけど、VS2013EEに乗り換えた方がいいのかな?
638 :
デフォルトの名無しさん :2014/02/05(水) 15:53:02.37
BluetoothGATTGetServicesの使い方がわかりません 特にhDeviceをどうやって指定したらいいかがわかりません
640 :
636 :2014/02/05(水) 17:07:51.78
VS2013EEってMFCとかないのね 教えてくれてありがとう
winでC++はC++ builder Clangで最強
642 :
636 :2014/02/05(水) 20:38:10.37
ググってもわからなかったんで教えて下さい vs2010 c++で新規プロジェクトを作るときに Win32(WinAPIのネイティブ操作) ATL(テンプレートライブラリ) CLR(コモンランゲージランタイム←ナニコレ?) MFC(クラスライブラリ、Win32のラッパー的存在) とありますが、今から(.Netは無視して)勉強するならMFC,テンプレートによってはATLという認識で良いのでしょうか?
>>642 何を勉強したいんだ?
C++をってことなら、Win32で空のプロジェクトを選べばいい
C++勉強ならVCではなくて、GCC、Clangじゃないか
>>642 VCでC++使ってならMFC
WTLは?
646 :
636 :2014/02/05(水) 21:22:05.63
VC++の勉強が必要なので、MFCから着手しようと思います ありがとうございました
MFC+ATLで良いのでは?
Win32(おk) ATL(イランしシラン) CLR(触れてはいけない) MFC(MSに魂を売るならよい選択)
649 :
デフォルトの名無しさん :2014/02/05(水) 21:34:08.60
いまどき、MFCだなんて。 MFCをリニューアルしたのがC#だろ?
>>649 いまCに近い言語でWinのGUIするならC#だからな
用途を無視して一番面白いのは?
654 :
636 :2014/02/05(水) 22:27:49.75
C#は逆コンパイルされるのがなあ、、、
CDialog水準の簡単なものなら、mfc42(V6)がいい
新しいものは実際のところ大げさだろう
C++でありながら、VBに近い書き味が楽しめる
MFCより、もうちょっとテンプレートを活かしたものが好みならATL
COMで遊んでて(仕事してて)、アトリビュートでさくさくいきたければATL
ATLがわかれば、
>>645 のとおり、WTLが射程に入ってくる
>>636 MFCであれ、綺麗に書かれたものはきれいに逆汗される
逆汗すれば、実装者のストイックさが素人にもわかる(ただし素人は真似はできない)。
どのくらいの保護レベルを求めるかによるが、、
658 :
636 :2014/02/06(木) 00:40:14.98
>>657 そんなに綺麗にかけないから見られたくないという説
お前らが書いたコードを逆コンまでして見ようなんて奴は未来永劫現れないからw 万が一居たとしてもよっぽどのバカな考古学者くらいだからw
なんでソース見られることを気にするんだろうね 他人の書いたソース見るぐらいなら自分で1から作った方がよっぽど早いと思うんだけど
>>660 自分で作った方が速いのはよほど単純なCUIツール程度だろ
特にベースとなるソフトになんか機能追加したり修正するときとか
↑を自分の与り知らぬ所でされたくないからクローズドにする奴結構いると思う
汚いソースがバレたくないというのは、チンコちっさいのが気になるのと同じで、 ばかばかしいと知りつつも気にするなと言っても気になるもの そういうことなら、ATL/WTL行こう 笑われないコードを、俺は書く。っていうのは、いい原動力になると思う
それもあるけど、やっぱりパクられたくないってのはあるな。 素人でもビギナーズラック的に部分的に洗練されたコード書くことがある。 たとえそれが偶然の産物でもたった10行でもパクられたくない。
でも「コピペしてもいいけどお前も晒せよな!」というGPLの姿勢はちょっと嫌だねぇ
GPLはまぁそういうライセンスってことでいいんだけど うっかり紛れ込んだりすると厄介なのがね
667 :
636 :2014/02/06(木) 12:57:06.28
>>665 ゲームのチートツールは晒したくない
その他なら晒してもいい
668 :
片山博文MZ無能 ◆T6xkBnTXz7B0 :2014/02/06(木) 13:44:19.78
#define new new(__FILE__, __LINE__) #define new_nothrow new(std::nothrow, __FILE__, __LINE__) ここで以降のnewはnew(__FILE__, __LINE__)に展開するが、new_nothrowの中のnewは展開しないように したいが、どうすればいい? 教えてちょんまげ
669 :
デフォルトの名無しさん :2014/02/06(木) 14:22:21.63
馬鹿には無理りん
関数型マクロとVA_ARGSでやりたいことはできるのでは?
671 :
デフォルトの名無しさん :2014/02/06(木) 15:12:16.37
#define __STR2__(x) #x #define __STR1__(x) __STR2__(x) #define __LOC__ __FILE__ "("__STR1__(__LINE__)") : "
>>665 おまえが晒したときに、誰かが読みたいと思うような価値あるコードなんて1行もない
読む前に価値を判断できるのだろうか
だが読んでほしくない相手に限って 読んで何やかや言ってくる法則
676 :
デフォルトの名無しさん :2014/02/06(木) 19:10:01.54
世の中そんなもん
>>666 そうだよな。コードのgive&takeだよな
678 :
デフォルトの名無しさん :2014/02/06(木) 19:57:16.07
文字化けさせてるksプログラマ
今晩自給2000円でスカイプにてC++のプログラム解説をしてくださる方募集です。 興味を持ってくださった方がいたらメールでお願いします。
680 :
デフォルトの名無しさん :2014/02/06(木) 21:17:32.88
自給なんて書いてる奴に解説する奴いるか!阿呆
教えていただくのであれば形は何であれお礼をするべきだと思います。
682 :
デフォルトの名無しさん :2014/02/06(木) 21:19:07.08
ありがとう
>>679 とりあえずどんなコードデバッグさせるつもりなんだ
後それじゃ詳細分からんだろ、怖くてメアド晒せん
>>683 情報少なくて申し訳ないです。
本についてるCDのおまけデータです。
メールくだされば、個人情報を教えるので信用していただきたいです。
>>684 本に付いてたら読めばある程度分かりそうな気がするけど、違う?
捨てアドで送るんでちょっと待ってくれ
なぜSkypeなのか。なぜここで質問しないのか。
>>686 言葉では理解が不十分になってしまうからです。
理解力がないのでOTL
>>687 ありがとうございます!
返信しました。
689 :
デフォルトの名無しさん :2014/02/06(木) 21:47:48.29
>言葉では理解が不十分になってしまう ・・・ビデオ通話?
690 :
デフォルトの名無しさん :2014/02/06(木) 21:53:56.13
ちょっとしたツールを晒す場所ってどこがいいのかな?
>>691 つ、ツールとはなんでしょうか?
VisualStudioとかですか?
>言葉では理解が不十分になってしまう >音声だけの通話で大丈夫です
694 :
デフォルトの名無しさん :2014/02/06(木) 22:02:01.67
>>693 音声で送受信できるのは言葉だけじゃないだろ
音楽でもいけるわけだから
音楽で説明して欲しいってことだろ
うわあああ すいません。 スカイプだとうれしいのですが...
696 :
デフォルトの名無しさん :2014/02/06(木) 22:03:52.93
age2.tvとか斧とかかな
メールやり取りしたならそっちでやれよw
700 :
デフォルトの名無しさん :2014/02/06(木) 22:29:24.21
独創的なコードってなかなか書かない おおっこれはうまく書けた!今日は冴えてる俺最高wwwwってコードならあるな
>>701 他人が保守しないならどんなオナニーでも許されるんですけどね……
そうでなくても奇抜なコードだと見返した時に理解しづらいから
コメントはしっかり書かないとマズい
>>701 はあえて「書かない」って表現にして、書こうと思えばいつでも書けるぜ、
というニュアンスを含ませたいんですねわかります。
コードを理解しやすくなんて、そうそううまくいかないと思う。
お勧め「リーダブルコード」
生徒に理解させようと長年工夫されている教科書、参考書とかでもたやすく理解できるとは限らない。 読めれば理解できるってのはよっぽど内容が簡単なときしか成り立たない話だ。
>>706 > 生徒に理解させようと長年工夫されている教科書、参考書とかでもたやすく理解できるとは限らない。
それは単にお前の頭が...
>>706 リアルでこんなこと言ったら黒歴史になるレベル
709 :
デフォルトの名無しさん :2014/02/07(金) 17:04:20.11
からの〜?
709 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん
703 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん
701 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん
670 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん
714 :
デフォルトの名無しさん :2014/02/07(金) 18:50:24.96
か ら の 〜 ?
NG推奨ワード: あぼ〜ん[あぼ〜ん]
>>707 ,708
黒歴史で悪かったな。
おまえらみたいに頭良かったら俺も苦労しなかっただろう。
こっちはシローあたりでもう難しいと感じてしまったんでな。
716 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん
シロ―?
719 :
デフォルトの名無しさん :2014/02/07(金) 21:41:55.69
46のことだよ
流行り廃りがあるんだよ いま読みやすくても30年後にそうとは限らない
めったに積もらない雪がめちゃ積もってきて変なテンションなんで オールナイトでプログラミングだずぇ@大阪
723 :
デフォルトの名無しさん :2014/02/07(金) 22:53:49.97
死蝋?
727 :
片山博文MZ無能 ◆T6xkBnTXz7B0 :2014/02/08(土) 12:20:01.95
ちょっと聞きたいんだけど、 vector<double> a(100); といった感じで初期化した場合、 100要素分があらかじめ確保されるのは分かるんだけど、 その中身って0(0.0)であることは規格で保証されてる?
↓自動規格検索機
なぜvector<double> a(100, 0)としないのか
マニュアル読みたくないからに決まってんだろ
マニュアル読めば、最初のレスが付く前に解決していただろうに
doubleのゼロ初期化は0.0になるとは限らないという定番ミス
>>730-732 thx
念のために0.0で初期化しておくわ
(vector<double> a(100, 0.0);にするということ)
しかし結果は変わらないのであった。
え 0 は 0.0 にならんの? memset してるわけじゃあるまいし
IEEE754なら0は0.0になるけどそれ以外の浮動小数点型は知らん
738 :
デフォルトの名無しさん :2014/02/08(土) 18:08:57.43
か ら の 〜 ?
memset()と勘違いしている馬鹿はレスするなよ。
740 :
636 :2014/02/08(土) 18:23:58.22
CStringからwchar_tへ変換する方法を教えて下さい ぐぐってもユニコード以外の場合しか見つかりません VS2010を使用しております
741 :
636 :2014/02/08(土) 18:52:49.29
最終的にbyteにしたいのですが なんかこんがらがってきたので また出直します 失礼しました
743 :
デフォルトの名無しさん :2014/02/08(土) 19:23:09.90
AnsiToOem() OemToAnsi() 実は使ったことない、いい機会なのでヘッダみてきた BOMにきおつけろ
わすれてた ちょいちょいと書くのに_bstr_t とか便利だよ
_bstr_tはBSTRの代替なので用途が違う気がする。 ここでCStringWが出てこないのは、マイナーだからかな。
CT2W( (LPCTSTR)string ) でいいだろ。
CStringはwchar_tだと思うのだが まさか今時MBCSでコンパイルしてる馬鹿はいないよね?
CStringがあるようなhogeライブラリを今時使う馬鹿はいないよね?
WTLなしでGUIアプリは書きたくないな
MFCを使う奴はHogeということですか?
752 :
重要 :2014/02/09(日) 20:58:29.04
【重要】
hogeの使用は荒らし行為として禁止されています。
使用しないでください。
万が一hogeが書き込まれても、スルーしてください。
相手にするとあなたも荒らしと同じ扱いになります。
※
>>1 を読んで下さい
>>736 0.0になります。
vectorはdefault-insertするので、
allocator_traits::constructが呼ばれ
allocator::constructが double{} 相当の値に初期化します。
ユニコードでデータサイズを調べるとき、どっちのほうが適切でしょうか? DWORD dwDataLen=(DWORD)(sizeof(m_EDIT_BOX)+1); DWORD dwDataLen=(DWORD)(wcslen(m_EDIT_BOX)+1);
static_assert(std::numerc_limits<double>::is_iec559, "オマエのコンパイラおかしくね?");
これを入れておけばok
>>775 どちらも失格
>>755 auto kuso = _tcslen( m_EDIT_BOX.文字列を取り出すメンバー関数() ) + 1;
if ( static_cast<DWORD>(kuso) != kuso )
throw "糞デカすぎだろおい";
DWORD dwDataLen = static_cast<DWORD>(kuso);
>>758 サンプルソースまでありがとうございます><
二人の「データサイズ」の認識が一致したかどうかを知るものはいない
761 :
デフォルトの名無しさん :2014/02/09(日) 22:53:06.87
↑ はいつもの上げ荒らしbot
エスパーで答えるなら、バイト数数えたいのか、文字数数えたいのかによるぞ 必要なのはほとんど前者だが、後者が必要なこともある あと前者なら、末尾は00 00 かもね
バイト数を数えたいとき: _tcslen( m_EDIT_BOX.文字列を取り出すメンバー関数() ) * sizeof(TCHAR) 文字数を数えたいとき: _tcslen( m_EDIT_BOX.文字列を取り出すメンバー関数() ) C文字列形式で格納するために必要なバイト数: (_tcslen( m_EDIT_BOX.文字列を取り出すメンバー関数() ) + 1) * sizeof(TCHAR)
おお、マジでありがとう! byteにしなきゃいけないんです
バイトテロ という言葉が思い浮かんだのは何故だろう
宗田理ですね、わかりますん
768 :
デフォルトの名無しさん :2014/02/10(月) 00:36:24.96
>>762 また、チョーセン人が勝手なルール作り出してるよ
死ね死ね死ね
>>766 ちょっと前にスーパーのアイスケースやステーキハウスの冷蔵庫に入った写真公開して閉店とかの騒ぎがあったからでしょ。
今日一日働けば明日は休みか・・・ 大渕先生かわいいな
すまん、うちは4連休だわ
すまん、俺はずっと休みというか自宅勤務してる
メンバ関数内でしか使わない変数があったとして、その変数は関数内のメンバ変数とするべきなのか、一応クラス自体のメンバ変数としてヘッダファイル内で定義するべきなのか、 効率的にはどっちがいいんでしょうか?
>>773 関数内のメンバ変数とは何だ?
ただのローカル変数のことなら、当然そっちのほうが局所的で効率的だしヘッダに晒すことも無い。
ローカル変数かメンバ変数かってこと? ローカル変数で済むならローカル変数の方がいいけど
>>774-775 そうです、ローカル変数のことでした。アホな書き方してしまってすみません。
結局、ローカル変数でもその関数内で使う時に作成して終わったら破棄して・・・という事が多分内部的に行われてると思うんですけど、
だったら最初から定義されてる方がすぐ見にいけるから効率がよかったりするのかなと思ったんですが、そんなこともないんですかね
>>776 コンストラクタ・デストラクタが重いクラス型の変数で、繰り返し使われるならメンバに置いたほうがいいかもね。
いずれにしても、気になるなら実測しろ。
>>773 内容を見てないからあれだけど、ローカル変数でもメンバ変数でもなく、
「引数として渡すべき」という可能性もあるな。
780 :
デフォルトの名無しさん :2014/02/15(土) 12:05:24.18
ローカル変数で const int &r = 3; のようにrvalueを代入しても、関数の引数にrvalueを渡した時と同じくrの解放までインスタンスが保持されると考えて大丈夫でしょうか
>>781 実装はともかく形式的には整数リテラルの考え方でいんじゃね
つまりプログラムの開始から終わりまで生存
当てずっぽうに言うと、規格の8.5.3と12.1章あたりだったきが
>>782 ,
>>783 有難うございます、下記のコードを試したら変数rのスコープ失うまで確保されてました延命されるで問題なさそうです
class Test {
public:
Test() { cout << "Test()" << endl; }
~Test() { cout << "~Test()" << endl; }
};
int main()
{
cout << "start" << endl;
{
const Test &r = Test();
cout << "hoge" << endl;
}
cout << "end" << endl;
return 0;
}
ローカル変数の場合はスコープの終わりまで一時変数の寿命が延長されるけどクラスのメンバ変数に束縛したらその行で寿命が終了するから注意
質問です。。。 どうしてstd::for_eachは渡された関数オブジェクトを返すのでしょうか。 どうして返り値がvoidじゃダメだったんでしょうか。
788 :
デフォルトの名無しさん :2014/02/18(火) 20:28:29.70
関数オブジェクトが状態を持っている時にそれを得られるように
template<typename It, typename Fn> Fn for_each(It first, It last, Fn Func); というシグネチャを template<typename It, typename Fn> void for_each(It first, It last, Fn&& Func); に変えるんじゃダメなん?
戻り値の方が綺麗じゃん
for_each(begin, end, funcObj()).func2()とかできるようにでしょ
>>787 ISO標準化委員会が意味や機能でなく処理しか考えない低脳だったから
そう思うんならそうなんだろう お前の頭の中ではな
for_each(begin, end, funcObj()).func2() なんでfor_eachの結果がfuncObj()なんだよ。 意味的に変だろ。
>>792 コンパイラのバグです。
コンパイラを代えよう。
おこったらまけだよ
798 :
792 :2014/02/18(火) 22:14:05.70
>>796 マジですか。
変えろと言われても急には厳しゅうございます…
とりあえず、ありがとうございます
きちがいしかいないな
>>795 そうだよな。voidでいいと思う。いまさら変えられないだろうが。
誰かが使いそう→誰も使わないっていうのはC++の毎度のパターンなんだからいい加減諦めとけ。
>>788 >>791 なるほど。なんとなく納得出来ました。
こんな面倒なことする人はいないと思うけど、
struct Add
{
Add() : sum_(0) { }
void operator()(int x) { sum_ += x; }
int sum() { return sum_; }
private:
int sum_;
};
int main()
{
std::vector<int> v = { 1, 2, 3, 4, 5 };
int sum = std::for_each(v.begin(), v.end(), Add()).sum();
std::cout << "合計は" << sum << "です。" << std::endl;
}
っていうことが出来ないほうがいいか、出来る方がいいかでいうと、
確かに出来たほうがいいような気がします。。。
auto_ptrはよく使っているよな
どっちにしろ template<typename It, typename Fn> Fn for_each(It first, It last, Fn&& Func); と変えればすべて解決
反復子は皆iterator_categoryやvalue_typeとかのpublicなデータ型を持っているのに、 iterator_traitsというクラスがあり、わざわざそれを通してそれらのデータ型にアクセスするのは、 イテレータがポインタやconstなポインタ型だった場合も同じように扱えるようにするため っていう認識で正しいのでしょうか。 それ以外にも理由があるのでしょうか。
807 :
デフォルトの名無しさん :2014/02/19(水) 11:43:50.08
808 :
まんちゃん ◆SYZTEPEAHI :2014/02/19(水) 12:04:00.22
;
voidでいいと言う奴はお前が使わなければいいだけ
A「仕様のここが意味的におかしくね? B「嫌なら使うな! Bは会話のできないアスペか、標準化委員会のメンバー
ということにしたいのですね。
別の物を返せとか○○という問題があるから返すなとか言うならともかく、なんでvoidじゃないんだとか言うバカ
voidにしろと言ってるやつっているの?
せいぜい
>>793 がそうかもってくらいか
voidがいい派:
>>787 ,801
引数のファンクタを返すのはおかしい派:
>>793 ,795
引数のファンクタを返すのはおかしいから&&にしろ派:
>>789 ,805
戻り値こそ便利だろ派:
>>791 ,803
>>815 オレは
>>805 だが Fnを返してるぞ。よく見ろ。
状態を持つオブジェクトの左辺値を渡してんのに参照で受けないのはマズいんじゃないか、
って意味の&&であって、ファンクタを返すのはOK
for_eachという関数名にふさわしい戻りじゃないよね。 機能の抽出がヘタなC初心者が 処理が長いから関数に分割しました 的な気持ち悪さがある。
>>816 せっかくだからFn&&返そうぜ
左辺値で受けたらそのまま
右辺値でうけたらその右辺値の参照を返す
それはどうかな
とりあえずファンクタがわからないからくぐってきた そしてよくわからなかった(´・ω・`)
形式的にはoperator()を持つクラス 軽量で状態を持たないのが典型的とされる
コピコンは省略してもいいけど省略されなくても文句は言えない。
だから
>>803 みたいな変数メンバを持つファンクタは
FnでなくFn&&で受け取るのが妥当。
今のfor_eachは右辺値参照が無かったときの仕様を引きずってるだけだろ?
引数も戻値もmoveされる仕様のはずだぜ
なるほど、よくわかった ありがとう!
そんな関数
>>823 お前はファンクタごときにpimplして
ムーブコンストラクタ定義しろというのか?
>引数も戻値もmoveされる仕様のはずだぜ
規格のページはよ
関数内で生成したインスタンスはmoveされるはず、 引数で渡す時は明示的なstd::moveと&&が必要だったはず
はず...ってあんまり説得力ないよな
戻り値がprvalueってことならそりゃmoveされるだろ。 関数内で生成したかどうか無関係。
直子は俺を好きなはず
左辺値でもmoveされるよ
>>831 いやされない、その場合はコピコンが走る
というか左辺値で勝手にmoveされるとインスタンス保持してたはずなのに関数読んだら何故かメンバインスタンスがnullptrになったりしてやばい
>>834 関数等のスコープ内で生成したものを返す時は最適化によってrvalueになる(NRVO)、
※ただし、暗黙変換が絡む場合はこの最適化が効かなくなるので明示的なmoveが必要
>>835 その論で言っても左辺値がmoveされてる事実は変わらんが
>>834 どこに左辺値があるんだよ。
prvalueがmoveされてるだけで何の疑問もないだろが
>>836 いや、生成して返す時は左辺値に見えるけど最適化されて右辺値になってるから
文法上は左辺値だけど処理的には右辺値
839 :
838 :2014/02/20(木) 00:29:57.96
>>840 hogeサイト出す時点で説得力ないとなる
>>835 ,838
NRVO は C++98 ですら許されているコンストラクタ省略による最適化。
右辺値とか move とか関係ないよ。
最適化の有無でコンパイルが通ったり通らなかったりしたらまずいわな
>>826 §25.2.4 For each
に思っいっきり書いてありますがな…
10行程度だから読んでみなよ
>>844 よんだけれど書いてないから言っているのだが
企画のページはよ
>>836 GCCのバグか規格策定前の古い仕様じゃないの?
>>842 省略は許されてもコピー/ムーブのセマンティクスは守らないといけなかったはず。
ちなみにfor_eachはファンクタがMoveConstructibleであることと
戻り値がstd::move()されることが規定されているね。
コピコンしか無い場合はムーブされようがないのでコピーされる恐れがある。
引数についてはmoveされそうな記述が見あたらないのだけれど。
849 :
848 :2014/02/20(木) 09:42:33.53
>省略は許されてもコピー/ムーブのセマンティクスは守らないといけなかったはず と思ったけど12.8p31にそのような記述が見つけられなかったでござる
>>841 ではホゲではないソースをば。
ISO/IEC 14882:2011 12.8 段落32
When the criteria for elision of a copy operation are met or would be met save for the fact that the source
object is a function parameter, and the object to be copied is designated by an lvalue, overload resolution to
select the constructor for the copy is first performed
as if the object were designated by an rvalue.
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ただこの仕様は最適化とは関係ない模様。
結局for_eachはどうあるべきなんだ? 1. Fn for_each(Itr, Itr, Fn) 2. Fn for_each(Itr, Itr, Fn&&) 3. Fn&& for_each(Itr, Itr, Fn&&) 殆どのファンクタはmoveコンスコを持ってないだろうから returnがmove()ってことは1と2はRVOが働かず 3じゃないと無駄なコピーが走る?
>returnがmove()ってことは1と2はRVOが働かず イミフ RVOは働く
C++とDarkBASICってどっちが凄いの?
簡易高速モーションブロアテスト - 楽しいDarkBASICプログラミング♪
http://upload.saloon.jp/src/up8474.zip ファイルを開くと1.9MBの実行ファイルが出てくるから素直にクリックするといいw
サンプルプログラム。
モーションブロア(残像)は法線軌跡を計算して半透明3Dオブジェを使うものから、
画面バッファそのものを書き換えるものまで、処理方法は多岐に渡る。
自分で作ってみると面白い。
30fps出ていれば問題なし。
さあ誰か実行してみて!
うおお実行したくねえ まあLinuxなんでしたくでもできないが
専ブラで手軽にゴミレスあぼ〜んの一例 Ctl + Endキー (キャレットを新規に読み込みしてしまった最後尾のゴミレスに置きます) Menuキー (マウス右クリックと同等、右Ctlキー付近に有ります) zキー等 (メニューにガイド表示されているあぼ〜んアクセラレートキーでスレを綺麗にします) この3ステップを色々組み合わせ上手くゴミレスを放置出来るようになりましょう。
auto kuso = []{}; このkusoはコピーの際に例外が出ないことは保証されてる?
「ブロア」w
861 :
デフォルトの名無しさん :2014/02/22(土) 02:48:53.96
せっかく初見では笑うのを回避したのに、こいつ↑のせいでラーメン噴いた。
モーションブロア(残像)
空気読めない俺に解説を…
ブロアアアアアアアアアアアアアアアアアアアアアアアアアア
>「d3dx9_31.dllがありません」的なエラー 言語に特定した話じゃないけど、 動作に必要な条件を提示できない(説明がない) 馬鹿の作ったプログラムはイラっとする。 特にUnix系に多い。
>>867 > 「d3dx9_31.dllがありません」的なエラー
>
> 言語に特定した話じゃないけど、
> 動作に必要な条件を提示できない(説明がない)
> 馬鹿の作ったプログラムはイラっとする。
> 特にUnix系に多い。
そんなものを使うほうがおかしい
どうして誰か一人がオンリーワンで悪いという思考になるんだろう
870 :
デフォルトの名無しさん :2014/02/24(月) 00:13:50.54
directxのdllを指してるのにUnixってどういうことなんや まるでワケガワカラナイヨ あっ、Wineでdll読み込むような高度なことするプログラマーが多いってことか
unixはライブラリ依存症が進行していて必要なライブラリの一覧を作る事が出来ない 直接の依存くらいなら可能だけど間接的なのは無理 って事だと思う
872 :
デフォルトの名無しさん :2014/02/24(月) 00:51:51.30
.dllも.soも.dylibも動的リンクライブラリで、どれも同じだと思うんですが… dll地獄って言葉はWindows発祥ですし、その批判は通らないな あと一般ユーザーならともかく、プログラマーなら動的リンクライブラリ内部のシンボル見ればどの関数使ってるか わかるしパッケージ管理が生きてるなら間接参照のライブラリを探すこともないだろう
873 :
デフォルトの名無しさん :2014/02/24(月) 00:59:52.07
Windowsで地獄ならUNIXはなんと形容すればいいのでしょう? とにかく地獄ですら天国に見えるような何かです。
>>873 何か困ってるの?
*nix系の場合はパッケージ管理のコマンド一発ですんなり入るよ
野良ビルドするにしても
依存ライブラリは作法としてREADMEに書いてある
字が読めれば分かるでしょ
もし、その明記がされていないようなら
そんなものは使うべきではない
アホウ 書いてあるのは直接依存してる奴だけだ
だからなんだよw
ム板でインスコ話ですか
878 :
デフォルトの名無しさん :2014/02/24(月) 02:29:46.71
879 :
デフォルトの名無しさん :2014/02/24(月) 02:34:21.96
>>874 のような人はUNIX使いこなしてるぜ〜みたいな顔して語るんだけど、
実は使ったことが無いんだよね。
みんなが困ってることなのに。
まあせいぜい、Linuxインスコしてウェブ見れた!Linuxすごい!俺凄い!的な感じ。
どっか違うとこある?当たってるでしょ。
Linuxのライブラリ依存問題のせいで Steamなんかは、結局自前でSxSのような構成管理を作ってるもんな
ここは初心者の談話室スレですか?
え、lddすら知らないのか
依存ライブラリの依存ライブラリの依存ライブラリとかをReadmeに明記できない、つまりライブラリ使ってるのにライブラリの中身に疎い人がいるって話でしょ。 で、unixの文化圏の方がそういう人は多い傾向にある、ってことじゃないの?
>>885 素のLinuxでvlcを野良ビルドしてから出直しなさい
ヲタは事故中だから嫌だな
要するにUNIX系の依存問題はWindowsとは別の意味で酷いってことでおk?
それでOK 依存がループしている場合もある
必要ライブラリを明記する事が難しいのでなく 何も考えずに「俺のパソコンで動いた」だけのものを リリースする輩が多い。
>>890 例えばどんなの?
基本的にstableに合わせるからトラブルは圧倒的に少ないと思うよ
894 :
デフォルトの名無しさん :2014/02/25(火) 00:19:37.33
動的リンクライブラリの性質は
>>872 に書いたとおりだが
>>890 >>885 のようなことを防ぐためにGNU Autotoolsやcmakeがあるんでしょ
configure.ac書いときゃ依存ライブラリは自動チェックされるしなあ
Makefileぽーんと置いといて、あとよろしく〜
ってな感じのやつはダメだよね
configureのキャッシュどうしてる?
ビルド時に依存先ライブラリが自動的にDLされるというイカれた仕組みに頼っている そしてネット上に(一見)有益なライブラリがたくさんあふれていてそれを無節操に取り込む文化
configure実行にめちゃめちゃ時間がかかる。 システムの変更が少ないとき、普通はキャッシュ使うよね?
cygwinのconfigureの遅さは異常 あれなんとかならんのか
config.cacheをマージして使い回すといいよ
時間がかかるのは問題ない configureが失敗すると白昼の殺意
901 :
デフォルトの名無しさん :2014/02/25(火) 23:49:54.49
>>896 Scalaer or Javaerがいるぞ、殺せー
むしろすんなり成功するほうがまれ
903 :
デフォルトの名無しさん :2014/02/26(水) 00:42:45.39
倍精度実数を出力するprintf("%lf\n",d); は正しいんですか?林晴彦なんて、ねえ、なんでprintfに%lf使うの?とか書いてたけど VC++は通るのよね。一方、gccでは4.8.1でもうまく出力されない。 しかし、C99ではprintfでも%lfが正しいという説が。 C++では間違いで、Cなら%lfは正しいの? あとわからんのが、abs関数。 gcc4.8.1の場合、 #include <cmath>すると、abs(x)はxがdoubleなら戻り値もdouble ところが、 #include "math.h" とすると、戻り値はintになってしまう。 VC++は意図的か、鈍感なのかdoubleを返す(C++なら関数の オーバーロードでこっちが自然だと思うけど) C99では、void main(void)とint main(void)はどちらが正しいか 規定されていない。C言語はかなり混乱してるように思うが?
absの何が問題なのかわからん。 Cはオーバーロードがないから型ごとに別の名前をつけてるだけだと思うが。 戻り値doubleの絶対値ならfabsを使えばいい。
>>903 C99が仕方なく%lfを合法にしただけで他の規格では完全に間違い
>>903 >しかし、C99ではprintfでも%lfが正しいという説が。
C99 では許容されている、という意味では正しい
>林晴彦なんて、ねえ、なんでprintfに%lf使うの?
不定長引数部分で浮動小数点数を渡す場合は default argument promotionhs により double にキャストされるから、ごく当然の疑問だね
(ISO/IEC 9899:1999 6.5.2.2.7 ですかね、この前後でちょっとわからないのがある‥‥)
printf()系の"%lf"は本来間違いだよ。 その間違いが量産され続けているからそれを追認する形でC99で認められるようになっただけ。
>>903 >#include <cmath>すると、abs(x)はxがdoubleなら戻り値もdouble
これはちょっと理解できないね、 C では
int abs(int x)
double fabs(double x)
だからね
>>903 >C99では、void main(void)とint main(void)はどちらが正しいか規定されていない。
そういうわけでもない。主観的だが
int main(int c, char **v)
int main(void)
を「第一推薦としている」くらいには表現してもいいかと
現実にあるさまざまな処理系を規格でバッサリきらないようにか、
ISO/IEC 5.1.2.2.1.1 の末尾に in some other implementation-defined manner って書いてあるだけなのに
それをもって void main(void) を OK と主張するのもどーかと思ってしまう
ああ、そっちを問題視してたのか。 「戻り値はintになってしまう」とか否定的に書いてあったから勘違いした。
>C99では、void main(void)とint >main(void)はどちらが正しいか規定されていない
んなこたーない。
CでもC++でもコンパイラーの独自仕様が許されるのは引数の部分だ。
戻り値はintでなければならない。
ISO/IEC 9899:2011 5.1.2.2.1p1
ISO/IEC 14882:2011 3.6.1p2
>
>>903 >C99が仕方なく%lfを合法にしただけで他の規格では完全に間違い
んなこたーない。
ここはC++スレで、その現規格である
ISO/IEC 14882:2011で許されている筈。
ISO/IEC 14882:2011 1.2p1
>>911 C++11も追認したのか。勉強なった
進化の方向性としてはどうなんだこれ・・・無駄に複雑さが増すだけのような
>>911 >独自仕様が許されるのは引数の部分だ。戻り値はintでなければならない。
これは、そう読むのかな‥‥
ISO/IEC 9899:2011 5.1.2.2.1p1
>or equivalent;
とセミコロンでバッサリ切っているよ
JIS X 3010 でも
「上に掲げた三つの方法のいずれでもない処理系定義の方法」
となっており、戻り値は int でなければならないとまでは言い切れないよね
914 :
デフォルトの名無しさん :2014/02/26(水) 07:53:16.20
gccは最近気づいたんですが、cppファイル作っていても(したがって C++言語のコンパイラとして動作させていると思っていても) #include "math.h"としたときはC言語と同様にabs(d)はint型を返します。 #include <cmath> としたときはabs(d)はdouble型を返します。 #include "math.h" と #include <cmath> は微妙に違うんですね。 VC++2008では、どちらでもabs(d)はdouble型を返すんですが。 言いたかったことはabs(d)はややこしいこと。もちろん、トラブル を避けるために実数計算ではC++でもfabs(d)を使いますが。 void main(main) (コマンドライン引数は省略) は私は使いません。 しかし、C99の規格としては必ずしも誤りではない、C++としては 誤りということですか?しかし、VC++では通ってしまうのがやや こしい。コンパイラのオプションスイッチを設定すればgccと同じ ようにできるのかもしれませんが。 なんだかややこしいなあ、と思います。C99では統一されているかも しれませんが、C++の方はVC++、gccなど処理系によって仕様が微妙に違う。
915 :
デフォルトの名無しさん :2014/02/26(水) 08:04:45.86
>>914 正確には、gccはTDM gcc4.8.1 (MinGW)です。
916 :
デフォルトの名無しさん :2014/02/26(水) 08:06:17.36
void main(main) → void main(void)
>>914 >#include "math.h" と #include <cmath> は微妙に違うんですね。
G++は知りませんが、ISOの規格ではabs(double)は
doubleを返します。
>>917 違うから名前変えてあるんだろあたりまえだ
919 :
デフォルトの名無しさん :2014/02/26(水) 11:28:40.96
混乱を招くのに当たり前だというあんたの神経が変だわ。
混乱するのはアホだけだから問題ない
人類の9割はアホ
double x; abs(x);でint型のabsが呼ばれる事を期待しているアホしか困らない
人類の1割はバカ
C++覚えようか迷っています C言語で大抵のことはできるけど、ごちゃごちゃになったりしませんか?
大抵のことができるなら覚えなくていいんじゃない? C++で作るしかないものがあるなら覚えればいい オブジェクト指向を覚えたいならJavaかC#に行けばいい
女を覚えた方がずっとためになる
混同無
>>929 古い20世紀のソースを21世紀で使うからそうなる
日本語なら古語を21世紀の現代で使うようなもの
>>930-931 記事がすでに古いものってことですかね?windows7の64bit版じゃ正常に動かないってことでしょうか。
ありがとうございます。
そのサイトのはマルチバイト用だな、Unicode対応だとこう書く。 TCHAR chStr[128]; wsprintf(chStr, TEXT("インスタンスハンドル:%d"), hInstance);
>>933 おお!ちゃんと表示されましたありがとうございます。
Unicode対応ではなくジェネリックでしょ
だったら_stprintfとすべきだな
でcrtに依存すると
そこはしゃあない
939 :
デフォルトの名無しさん :2014/02/27(木) 22:41:29.60
今までのC++は201Xまでとして、C言語とは別にNew C++版を作ったらどうなんだ? 昔のC言語の仕様をとりこんでるせいでセキュリティの難問が発生してるし。 でも、禿が生きてる間は無理か。あいつは頭が良すぎる。理屈っぽ過ぎる。 頭の良い奴に言語を作らせたり、教科書かかせたらあかんw でもC#がLinux上でも動くようにMicrosoftがフリーのNetframework版を 出せばいいんだ。絶対に出さないと思うけど。 しかし、それをやったらC++もJavaも消し飛ぶかもw
C#はいいね 使わないけど
941 :
デフォルトの名無しさん :2014/02/27(木) 22:43:58.00
>>922 やれやれ、利口な上で言ってるのか(一応、外交辞令)、それともひどく馬鹿なのか
%d→%p
943 :
デフォルトの名無しさん :2014/02/27(木) 22:44:17.78
型の重要性が分かる人の世界 「この動物は一体何ですか?」 「実はこれ"鳥"の仲間なんですよ」 「へー 不思議だなー」 型の重要性が分からない人の世界 「これは一体何ですか?」 「よちよち歩いてますね・・・・不思議ですね・・・」
>>936 念のためいっとくけどwsprintfは既にジェネリックだからな(wsprintfW<->wsprintfA)
>>943 バカの一つ覚えだな
あ、すまん、馬鹿だからそう考えてしまうのか
すまんすまん
バカには優しくしないとな
>>936 wsprintfはジェネリックなんだよ
マクロでwsprintfA/Wに置き換えられるんだから
いまwinでマルチバイトコンパイルすることあるのか お前らはuni、マルチ両方対応コードにしている?
普通にジェネリックだな コスト変わらないし
mbcs -> utf8 utf16 -> utf32 でいいよね
さすがにサイズが2倍になるのは勘弁
サロゲートペアや結合文字を考慮する必要はなく 1文字=固定長なので文字列処理に置いてはシンプルかつ高速です
iostreamみたいな糞ライブラリを設計する奴が 頭が良いわけないだろう
なんや急に どないした びっくりするやないか
またiostreamに親を殺された人が一人
正直内部表現はトレードオフでutf16がいい線いってる あと、utf32にしたら結合文字を考慮する必要がないなんて、そんな訳がない。
utf8&UCS4でおk
どのようなトレードオフ結果でUTF-16がUTF-32より優れていたのか。
>>956 の説明に期待
メモリが半分で済む 日本語なら大体1文字2byteで済むから文字数計算も楽ちん icuの内部コードだしな
>>949 参考までに教えて
std::exceptionをキャッチしてwhat()の内容を
メッセージボックルに表示したいんだがどう書けばいい?
どのようなトレードオフ結果でASCIIがUTF-16より優れていたのか。 ↓ メモリが半分で済む 英語なら大体1文字1byteで済むから文字数計算も楽ちん 多くのオプソで使用されているコードだしな
>>959 皮肉なのか?ガチで言ってるように思えるけど
日本語使いたいからasciiでは困る
>>962 そして海外プロジェクトの言語パッチだけせこせこ書く下請けに成り下がる
>>961 決め打ちでいいです
genericの意味分かってる?
どのようなトレードオフ結果でSJISがUTF-16より優れていたのか。 ↓ メモリが少なくてで済む 英文だと1文字1byteで済むから文字数計算も楽ちん Winで使用されているコードだしな
catch (const std::exception & ex) { #if defined(_UNICODE) int size = ::MultiByteToWideChar(932, MB_ERR_INVALID_CHARS, ex.what(), -1, NULL, 0); if (size != 0) { std::vector<wchar_t> message(size); ::MultiByteToWideChar(932, MB_ERR_INVALID_CHARS, ex.what(), -1, &message[0], size); ::MessageBox(NULL, &message[0], _T(""), 0); } #else ::MessageBox(NULL, ex.what(), "", 0); #endif }
MessageBoxAでいいじゃん
次に「他のTCHAR文字列と併せて処理したいですただしCStringは使いたくない」 と来るに一票
文字列ごときのメモリが4倍で何か問題あるか? UTF-32なら途中で切れても多少は意味のある所で切れるから UTF-16よりは遙かにマシ
ジェネリック それはお布施代をカットした安価な薬のこと
974 :
デフォルトの名無しさん :2014/02/28(金) 05:37:29.29
地球上に存在するありとあらゆる言語に対応しようと思ったらUTF-32?
>>974 地球上の言語が32種類しかないとでも思ってんの?
パソコンが対応してる言語だけでももっとあるぞ。
↑↑ どうしようもない馬鹿
>>974 別にエンコーディングの違いであって、どの言語に対応しているとかは
UTF-32,UTF-16,UTF-8のどれでも同じ。
ありとあらゆる言語に対応したいなら まずUnicode以外の独自研究が必要
>>977 いや、だから例えばUTF-8使ったら8種類しか対応できないでしょ。
自分のパソコンだけなら8種類以上の言語を使いこなす人は稀だからUTF-8でもいいけど、
世界規模のWebサービスを展開しようと思ったらUTF-8では対応しきれない。
>>972 > UTF-32なら途中で切れても多少は意味のある所で切れるから
タイ語とか無理
ウェブで扱える言語って決まってる? RFCかISOSIで散布されてない?
ほ
>>981 ウェブとは何だ。
まずその定義をはっきりさせようか。
>>984 言い方が悪かった
HTTPリクエストヘッダの、あくせぷとらんげーじに使用可能な言語だ
>>979 ネタだよな?
utf-8とか、16、32は対応の言語数じゃなくてビット数。
utf-8は8ビット単位、つまり1バイトを複数(最大4バイト)組み合わせて1文字を表現する。
だから、utf-16は16ビット単位で、それだと足りない場合にサロゲートペアで2つ組み合わせる。
utf-32はそれ1つで表せる。といっても言語によっては、その1文字だけでは意味を成さないものもあるが。
ネタにマジレスすんな
>RFCかISOSIで散布されてない? RFC 2616ではIANAを見ろと書いてあるから 一覧はRFC・ISOSIのどちらも配布していない
992 :
デフォルトの名無しさん :2014/02/28(金) 08:46:04.05
(1) #include "math.h" ではなく (2) #include <math,h> が正しい? しかし、VC++もgccも(1)でも問題なくビルドできる。 そして、 (1)では、gccのabs(double)はintを返してしまう。 (2)では、gccでもabs(double)はdoubleを返す。 しかし、#include "math.h" でエラーなり、警告が出ればいいのに。 これに対応した定義が残っているというのは昔の名残かねえ。
> #include "math.h" ではなく コンパイルが通る保証はありません > #include <math,h> float,double以外のint,longが使えるようになります doubleを渡すとオーバーロード解決が曖昧でエラーになるのが正しい #include <camath> stdなまえ空間にabsを宣言。 math.hのものに加え、float,double版を追加
994 :
デフォルトの名無しさん :2014/02/28(金) 10:41:03.24
間違えた。
#include <math,h> →#include <math.h>
>>992 の現象が出たのはmain()関数で
#include <stdlib.h>
#include "math.h"
としていたからだったorz。
gccではstdlib.hで定義されたabsが呼び出される。
"math.h"は無視された形だが、これをincludeすること自体は
文法的に間違いではない?
しかし、VC++2008では
#include <stdlib.h>
#include "math.h"
と並べると、後にincludeされるmath.h内のabsが呼び出される。
using namespace std; はあっても無くても関係ない。
どうでも良いことだけど、これ関係のトラブルで悩む人も出て
くるかもしれないので一応報告しておく。
>>994 >"math.h"は無視された形だが、
無視されるはずがないと思うのだけれど…
>これをincludeすること自体は
>文法的に間違いではない?
正しい筈。
""で見つからなければ<>にフォールバックします。
ISO/IEC 14882:2011 16.2p3
math.h は正しいヘッダー名。
ISO/IEC 14882:2011 D.5p1
こんな感じだった気がする。 stdlib.h →::にabs(int)を導入 cstdlib →std::にabs(int), abs(long), abs(long long) math.h →::にfabs(double) cmath →std::にabs(double), abs(float),fabs #include <math.h>で::abs(double)を導入 してしまうことが規格に反しているかというと、 多分反してない。たぶん。
998 :
デフォルトの名無しさん :2014/02/28(金) 17:26:58.15
産めよ増やせよ
梅のかほり
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。