[過去ログ] C++相談室 part130 [無断転載禁止]©2ch.net (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
184: (ワッチョイ 9fc3-hp0W) 2017/04/19(水)07:45 ID:CHQbSNlI0(1) AAS
ファンクタってなに?
185: (ワッチョイ 2b51-EaKP) 2017/04/19(水)07:58 ID:NVOSG7Tn0(1/2) AAS
メンバoperator()を持つクラスのインスタンス
186: (オッペケ Sr6f-xkGs) 2017/04/19(水)08:01 ID:2ep/ROmVr(1) AAS
というのが185の妄想
187(1): (ドコグロ MMbf-RLAq) 2017/04/19(水)08:10 ID:CJSzniGcM(1/2) AAS
>>181
なぜ試さない?
188: (ワッチョイ 2b51-EaKP) 2017/04/19(水)08:29 ID:NVOSG7Tn0(2/2) AAS
という妄想を朝から垂れ流す186
189(1): (ワッチョイ 0b6a-T+tu) 2017/04/19(水)09:06 ID:oJjBFOoS0(1) AAS
>>181
templateとファンクタはインライン展開がかなり期待できる手法。
190: (ワッチョイ 1f72-8aNn) 2017/04/19(水)10:21 ID:TnomPWtQ0(1) AAS
#include "A.h"
と
class A;
の違いって何でしょうか?
どのように使い分けるのですか?
191: (ワッチョイ 6bc8-HE/W) 2017/04/19(水)10:26 ID:37YtuUfA0(3/19) AAS
>>187,189
確かに以前違うところで思いっきりインラインされているのを見たから、
実際にはされるのだろうね。
ただ、C++のそういった方向への進化はちょっと嫌いだね。
今現在マクロで書いてるからテンプレートが改行無しのコードになってる。
使い勝手は悪いけど、確実に動くし、インラインだ。
俺の要求としては「テンプレートに演算子を書かせてくれ」これだけだ。
さてC++は何故かこれができない。
とは言え珍しいケースでもないはずだから、実際にはやり方があるはず。
そして聞いてみると、型を作る為にファンクタを作って差し込めばいいと言う。
省10
192(1): (スプッッ Sd3f-lyFy) 2017/04/19(水)10:30 ID:cmg5eKJnd(1) AAS
マクロなんてアホみたいな機能使ってる奴がいまだにいたとは
193: (スップ Sd3f-a7Ro) 2017/04/19(水)10:38 ID:xWugx3VWd(1) AAS
ああ、std::plus とかラムダ式じゃなくて + を指定したいって意味か
194: (ワッチョイ 6bc8-HE/W) 2017/04/19(水)11:18 ID:37YtuUfA0(4/19) AAS
おー、そういうのがあるんだね。
なるほどそれなら std::rel_ops::operator> を使うべきなのかな?
これが標準なら慣れるしかないけど、何だかなー。
呼び出し時に somefunc<double,std::rel_ops::operator>>
だとminなのかmaxなのか分からない。
今は関数名もsome_max, some_minとかに出来てるんだよね。
195: (ワッチョイ 6bc8-HE/W) 2017/04/19(水)11:29 ID:37YtuUfA0(5/19) AAS
ちなみに現状はこんなコード
#define FUNC(fname,op) \
template<class T> static T fname(T* ptr, int num){\
T max = *ptr;\
int idx = 1;\
while (idx<num) {\
if (max op ptr[idx]) max = ptr[idx];\
idx++;\
}\
return max;\
省4
196(1): (ワッチョイ 0b75-7bPG) 2017/04/19(水)12:34 ID:q88wQIwA0(1/7) AAS
std::max_element
お前どこかのスレでbindが遅いとか、質問に答えた相手をアホ呼ばわりしたやつじゃね?
197: (ドコグロ MMbf-RLAq) 2017/04/19(水)12:41 ID:CJSzniGcM(2/2) AAS
>>192
爺なんだろ
関わりあるならともかくないなら放置でいいよ
下手に絡むとマクロの素晴らしさとかをとうとうと語りそうだし
198: (ワッチョイ 6bc8-HE/W) 2017/04/19(水)12:46 ID:37YtuUfA0(6/19) AAS
>>196
いや、イテレータが欲しい訳じゃない。
上記の例はそれだが、実際はもっと複雑で、最初に言ったように、
走査部分は全く同じで演算子だけ異なる場合、どうするか。
で、どのレスのこと?
199(1): (ワッチョイ 6bc8-HE/W) 2017/04/19(水)12:50 ID:37YtuUfA0(7/19) AAS
ちなみにマクロは糞だと思うぞ。
単純置換くらいならいいが、それ以上は訳が分からなくなる。
ただ、演算子を置換したい為にファンクタにしてテンプレートに突っ込むのも同様に糞だと思うぞ。
見て分かりやすいものではないだろ。
200: (ワッチョイ 0b75-7bPG) 2017/04/19(水)13:00 ID:q88wQIwA0(2/7) AAS
>>199
お前は中でファンクターを渡す好きな名前のラッパー関数を定義するという発想もないの?
まさか関数呼び出しコストガーとか言わないよね?
201(2): (ワッチョイ ef14-AM0K) 2017/04/19(水)13:04 ID:Z8YDH0nj0(1) AAS
struct Maxf{
template <typename T>static const T f(const T& a, const T& b){return a>b?a:b;}
};
struct Minf{
template <typename T>static const T f(const T& a, const T& b){return a<b?a:b;}
};
template<class M,typename T >struct Func
{
static const T f(const T* p, int n)
{
省8
202(1): (ワッチョイ 6bc8-HE/W) 2017/04/19(水)13:19 ID:37YtuUfA0(8/19) AAS
>>201
ああなるほど、サンクス。そうすれば外側に名前が見えるのね。
個人的にはちょっと技巧的すぎて嫌いなコードだが、
正直なところ、コピペしてデバッグしてコピペで戻すのもうんざりしてたので、
徐々に慣らしながら使わせてもらうことにするよ。
C++での割と標準的な解決法ってこれなんだよね?
みんながやってるのなら俺も慣れるしかない。
203(1): (ワッチョイ 0b75-93S+) 2017/04/19(水)13:32 ID:q88wQIwA0(3/7) AAS
>>202
>>201 はまったく標準的ではない。
そんな書き方させる標準ライブラリが一つでもあるか?
外部リンク:ideone.com
これだけの話(わざとmin_elementは使わずに書いてる)
std::max_elementと関数名は勝手に置き換えろ
204(1): (ワッチョイ 6bc8-HE/W) 2017/04/19(水)14:06 ID:37YtuUfA0(9/19) AAS
>>203
いやだからイテレータが欲しいんじゃないんだよ。
それって話が余計に膨らんじゃうだろ。
今既に走査するコードはあって、それをテンプレートで置き換えようとしている。
呼んだら結果が返ってくる、それだけの関数なんだよ。
そのマクロを撲滅しようとしている。
イテレータだと外側コンテナに色々付け足しが必要になる。
それをやりたい訳じゃない。
最初から全て標準コンテナを使え、というのならその通りだが、それは別件だ。
今は生配列なんだよ。
省7
205(1): (ワッチョイ 0b75-93S+) 2017/04/19(水)14:19 ID:q88wQIwA0(4/7) AAS
>>204
int a[8]={4,-2,4,56,7,8,5,3};
が生配列に見えないの?
const T* a,size_t s
が生ポインタと要素数って解らなかった?
C++どころかC言語すら解ってないんじゃないの?
お前の頭には応用という言葉が無いの?
外部リンク:ideone.com
206: (ワンミングク MM3f-ZHy1) 2017/04/19(水)14:25 ID:15mBJgd3M(1/4) AAS
イテレータってお前の言ってる走査のシンタックスシュガーやぞ
207: (ワッチョイ 6bc8-HE/W) 2017/04/19(水)14:36 ID:37YtuUfA0(10/19) AAS
>>205
あーなるほど分かったわ。確かにこれの方が直感的で良いわ。
事実として俺はテンプレートに慣れてないからね。
まあとにかくありがとう。
208: (ワッチョイ 6bc8-HE/W) 2017/04/19(水)16:00 ID:37YtuUfA0(11/19) AAS
すまんが次の質問。
テンプレート内部で型を決めうちしたいのだが、この書き方ってある?
例えば内部で高精度で演算したい時、引数型が
引数double -> 内部double
引数float -> 内部double
引数short -> 内部int64
とか。引数型に対して内部型は確定的に決まる。
今は
template<typename T, typename Ti> double somefunc(T* src0, T* src1, int t){}
で引数型 T、内部型 Ti としてる。
省5
209(2): (ワッチョイ 6bc8-HE/W) 2017/04/19(水)16:07 ID:37YtuUfA0(12/19) AAS
すまん、ググったら条件分岐がヒットした。
というか2段重ねれば良いだけか?という気がしてきた。
あまり自信はないが。
210(1): (ワンミングク MM3f-ZHy1) 2017/04/19(水)16:15 ID:15mBJgd3M(2/4) AAS
type_traits使う
211: (ワッチョイ 6bc8-HE/W) 2017/04/19(水)16:30 ID:37YtuUfA0(13/19) AAS
>>210
> type_traits
見た目それようだが、何故かサイズが取れないのね。
ただどのみち俺の環境(VS2008)では使えないようだ。
とはいえ、今回の質問はどうやらラップすれば終わりのようだ。
お騒がせして申し訳ない。
212(1): (ワッチョイ 0b75-93S+) 2017/04/19(水)16:39 ID:q88wQIwA0(5/7) AAS
>>209
色々方法あるけど
*1 単純にオーバーロードを重ねる
template<typename T, typename Ti> double somefunc_impl(T* src0, T* src1, int t){}
double somefunc(float* src0, float* src1, int t){
return somefunc_impl<float,double>(src0,src1,t);
}
double somefunc(short* src0, short* src1, int t){
return somefunc_impl<short,int64 >(src0,src1,t);
}
省11
213(1): (ワッチョイ 6bc8-HE/W) 2017/04/19(水)16:54 ID:37YtuUfA0(14/19) AAS
>>212
ありがとう。まさに今その1をやったところ。
地味だがこれが一番分かりやすい。
ラップしまくるのは気になるが、C++の世界だとコンパイラが最適化してくれることを期待するんだよな?
traitは後日試してみるわ。本来はそっちの方が本筋なのだろうし。
今回は精度最高型で演算するだけだから規則は簡単。
char, short, int -> int64
float, double -> double
だね。
214: (ワッチョイ 0f92-D+C1) 2017/04/19(水)17:05 ID:zKKKUYsP0(1) AAS
>>209
俺もパッと思いつくのはenable_if使って2段にすることだな
こんな風に
外部リンク:ideone.com
もっとスマートなやりかたがあったら教えて欲しい
215(1): (ワッチョイ 6b3c-V7Gz) 2017/04/19(水)19:31 ID:suSDkWlT0(1/3) AAS
>>213
>コンパイラが最適化してくれることを期待するんだよな?
まず試せw
VCで逆アセンブル見るなり
外部リンク:gcc.godbolt.org
↑これで見るなり
厳密には知らんが、関数テンプレートは大体inlineつけなくても最適化でインライン展開の対象になる
216(1): (ワッチョイ 6bc8-HE/W) 2017/04/19(水)19:52 ID:37YtuUfA0(15/19) AAS
>>215
まあそうなんだけど、今回については
・仮に遅くなったとしてもやる
・最終的にはアセンブラに差し替える
という、主に編集上の都合なのでどの道やるんだわ。
最悪、手でコピペして展開すれば直結出来ると分かっているから、その辺は安心。
テンプレート慣れしてないから、いちいちラップするのが気持ち悪いが、
そんなもんだというのなら慣れるしかない。
ただやっぱ、見た目直感的なコードではなくなるのが残念なところ。
varにしたら自動的にテンプレートになって、
省1
217(1): (ワンミングク MM3f-ZHy1) 2017/04/19(水)21:04 ID:15mBJgd3M(3/4) AAS
>>216
>varにしたら自動的にテンプレートになって、
>文句がある場合のみ手動で特殊化が一番助かるんだが。
いやそれがtraitsなんだけど…
218(1): (ワッチョイ 6bc8-HE/W) 2017/04/19(水)21:47 ID:37YtuUfA0(16/19) AAS
>>217
いやあれ属性でやろうとしてるでしょ。
普通に型名で書いた方が楽だよね。特殊化みたいに。
変に汎用化させようとして、余計に分かりにくくなってるよ。
なんつーか、C++ってそっちの傾向あるでしょ。変に技巧に凝りすぎというか。
テンプレートにしても、編集上の努力であって、新機能追加やバグ取りにはならないし。
努力の方向を間違えたら完全に空回りてしまう。
varで書かせてくれよとマジで思うよ。
219(2): (ワンミングク MM3f-ZHy1) 2017/04/19(水)22:18 ID:15mBJgd3M(4/4) AAS
varと書けるようにするとなぜ新機能開発やバグ取りにできるの??
templateで何ができないと言ってるのかまじで意味わからん
templateをマクロと同じように使おうとしかしてないから編集上の機能に見えるだけでしょ?
ランタイムのオーバーヘッドをなくすために使うんだよ普通は
てか属性でやろうとしてるってなんだよ、現行C++にattributeなんてねーよクソカス
高精度型にキャストしたいならtraitsとdispatch用の関数書くだけ
220(1): (ワッチョイ 6b3c-V7Gz) 2017/04/19(水)22:29 ID:suSDkWlT0(2/3) AAS
>>218
言いたいことはわからんでもないけどな
他人はどうか知らんが、自分はSTLやboostのコードを分かりやすいとは全く思わん
ヘッダで公開してるから(そうせざるを得ないんだが)アレを全員目指すべきと勘違いしてる人はいるかもしれんw
言ってしまえば、テンプレートで設計の幅広げたり高速化したり、ってのはあくまで副産物的に生まれたトリックに過ぎんし
そういうライブラリはきちんとドキュメントが存在しないと使い物にならん(あれば超便利なんだが)
そもそもほぼC++しかやってないのでvarが何なのかよーわからんが。
関数型言語みたいな記述力を求めてんのかね?
221: (ワッチョイ 6bc8-HE/W) 2017/04/19(水)22:39 ID:37YtuUfA0(17/19) AAS
>>219
templateを使わずに同じ事を実現出来る環境なら、
その時間を新機能追加やバグ取りに使えるって事だよ。
実際、JavaScriptとかはそうなんだよ。
ただし、あっちには別の問題があるのだけどね。
222: (ワッチョイ 0b75-7bPG) 2017/04/19(水)22:50 ID:q88wQIwA0(6/7) AAS
でたJavascript
やっぱりstd::bindは高機能すぎるからオーバーヘッドが有るとか言ってた奴か。
223: (ワッチョイ bb1f-ZHy1) 2017/04/19(水)22:52 ID:1eYI3Ipd0(1/2) AAS
あーあいつか
あの時も意味不明なこといいまくってたな…
もうC++は諦めろ
224(2): (ワッチョイ 6b3c-V7Gz) 2017/04/19(水)22:54 ID:suSDkWlT0(3/3) AAS
>やっぱりstd::bindは高機能すぎるからオーバーヘッドが有るとか言ってた奴か
これがマジなら
>ID:37YtuUfA0
マジで実測する癖つけた方がいいよ・・・・・w
速度に関して憶測でモノ言うのは話にならん・・・・
225: (ササクッテロレ Sp6f-cQmk) 2017/04/19(水)22:56 ID:5KqdfKh3p(2/2) AAS
常軌を逸してる
触ってしまってすみませんでした
226(1): (ワッチョイ 6bc8-HE/W) 2017/04/19(水)22:57 ID:37YtuUfA0(18/19) AAS
>>220
varは何でも突っ込める。(というより型がない)
理論的には、全ての変数を「別々に」テンプレート化しているのと同じ事になる。
だから、理論的にJavaScriptにはテンプレートが必要ない。
(あるけどあれはHTML生成用の別物であって、C++のテンプレートとは違う)
例えば、maxがあったとして、
C++:
double max (double x, double y){ return (x>y)? x : y;}
JavaScript
function max(x,y){ return (x>y)? x : y;}
省15
227: (ワッチョイ 6bc8-HE/W) 2017/04/19(水)23:05 ID:37YtuUfA0(19/19) AAS
>>224
コンパイラが最適化してくれるからいい、のではなくて、
コンパイラが最適化しなくても速いコードを最初から書こうとしているって事だよ。
ただしC++ではそれが出来ないが、
そもそもコンパイラが最適化してくれるから問題ないってノリでしょ。
ここら辺はスタイルの違いだと思うよ。
228: (ワッチョイ 0b75-7bPG) 2017/04/19(水)23:07 ID:q88wQIwA0(7/7) AAS
>>224
俺も憶測で決めつけてるけどね。
でもこの書きっぷりと応用性のなさ。Javascriptときたからもうあいつにしか見えない。
229(1): (ワッチョイ eb7a-3MbB) 2017/04/19(水)23:11 ID:cDK+jlin0(1) AAS
何故気に入らないのにC++を使おうとするんだ
RustとかSwiftのような新しい言語の方がきれいに安全に書けるぞ
230: (ワンミングク MM3f-ZHy1) 2017/04/19(水)23:12 ID:9cOcPQsOM(1) AAS
template <typename T> T max(T a, T b) { return x > y ? x : y; }
だろ?馬鹿?
しかもjavascriptのvariant型なんてc++でいうとこのvoid*型だろ?
使うたびに内部ではdowncastしてるはずなのにそのオーバーヘッドコストは気にならないのか?
231: (ワッチョイ bb1f-ZHy1) 2017/04/19(水)23:14 ID:1eYI3Ipd0(2/2) AAS
>>229
RustもSwiftも強い静的型付けだから、型システムがわかってないこいつにはC++同様使えない
232(1): (ワッチョイ efa6-HE/W) 2017/04/19(水)23:28 ID:1gRwKhTB0(2/2) AAS
テンプレートだと指が勝手にユニバーサル参照にしてしまう
233: (オッペケ Sr6f-xkGs) 2017/04/19(水)23:53 ID:5Pu3YB5qr(1) AAS
>>219
>現行C++にattributeなんてねーよ
何故か規格を読まない奴ほど自信満々に嘘をつく法則
234: (オッペケ Sr23-bEgw) 2017/04/20(木)00:12 ID:tHs+CIU3r(1) AAS
>template <typename T> T max(T a, T b) { return x > y ? x : y; }
>だろ?馬鹿?
>>226の説明が理解できなかった自分の方が馬鹿だった
という事実に230が気付くことは無いだろう
235: (ワントンキン MMfa-kezb) 2017/04/20(木)00:17 ID:4toBdd3vM(1) AAS
いやお前だよ…
236: (ワッチョイ 1f8f-AhUp) 2017/04/20(木)05:55 ID:dzDslOc/0(1) AAS
js訛りのC++か
気がつくとぼっちだぜ
んなキモいことしてっと
237: (ワッチョイ 871f-HDOw) 2017/04/20(木)06:46 ID:4gdppVlz0(1) AAS
そういやC++のきれいなコードあんまり見たことない
238: (スップ Sd4a-Vs57) 2017/04/20(木)12:06 ID:nHxDShTLd(1) AAS
俺のコードはスカスカで綺麗だぜ!
239:  ̄ ̄\| ̄ ̄ ̄ ̄ ̄ ̄ ̄ (ワッチョイ 8acc-C5/3) 2017/04/20(木)16:31 ID:dSLwtaqZ0(1) AAS
AA省
240(1): (ワッチョイ de92-UbXF) 2017/04/20(木)16:39 ID:pGeg/NAi0(1) AAS
俺のコードにはファウンデーションを丹念に塗ってある
241(1): (オッペケ Sr23-bEgw) 2017/04/20(木)21:34 ID:iTkbXITvr(1) AAS
>>232
ユニバーサル参照にするとどういう制限が発生するのか分かった上でやっているのか?
242: (ワッチョイ 87f4-bQlo) 2017/04/20(木)21:45 ID:OBF/5/VT0(1) AAS
>>240
MFCとか綺麗だよねw
243: (ワッチョイ 06a6-HDOw) 2017/04/20(木)22:40 ID:16AwdhdC0(1) AAS
>>241
はて?制限・・・そんなのあったっけ?
(あわててEMC++をめくりながら)
244(1): (オッペケ Sr23-bEgw) 2017/04/21(金)14:01 ID:jq02h6/Cr(1/3) AAS
Effective Modern C++のItem 30を読まなくても幾つかは日常的に気付きそうなものだが
struct A { constexpr static int N = 1'000; };
f_pass_by_value(A::N); // OK
f_pass_by_universal_ref(A::N); // NG
245(1): (ワッチョイ a375-OSeR) 2017/04/21(金)14:33 ID:SD7KIjS10(1) AAS
>>244
それ -std=c++1z で通るのな。規格変わったん?
246: (オッペケ Sr23-bEgw) 2017/04/21(金)14:40 ID:jq02h6/Cr(2/3) AAS
>>245
変わる予定
流石にC++14の言語仕様はクソだった
N4659 D.1山椒
247: (オッペケ Sr23-bEgw) 2017/04/21(金)14:43 ID:jq02h6/Cr(3/3) AAS
だがこれはC++17でも通らない
struct A { int b : 2; };
f_pass_by_ref( A{}.b );
248: (スップ Sd4a-Vs57) 2017/04/21(金)14:47 ID:uAFMuOM4d(1) AAS
クソザコなので日常的には何も気付かない
249(2): (ワッチョイ 0b59-C4NQ) 2017/04/23(日)11:36 ID:onWybp6E0(1/3) AAS
質問
std::map<key_t, int>にkey_t型のブツの個数を格納したいのですが、どう書くのがSTL的に推奨?
仮に
typedef std::map<key_t, value_t> dic_t;
dic_t dic;
key_t key;
であるとして、
(1) std::pair<dic_t::iterator, bool> result = dic.insert(dic_t::value_type(key, 1));
if (!result.second) { result.first->second++; }
(2) dic_t::iterator it = dic.find(key);
省3
250: (ワッチョイ 0b59-C4NQ) 2017/04/23(日)11:40 ID:onWybp6E0(2/3) AAS
補足>>249の
>ブツの個数を格納したい
というのは、keyの出現も個数もわからない状態から、key出現毎に数えていきたいという意味です
251: (ワッチョイ 2756-2VNN) 2017/04/23(日)11:58 ID:VmCxZvh+0(1) AAS
std::map::size で取得
252(1): (ワッチョイ fad4-MAHZ) 2017/04/23(日)12:31 ID:XHzgUmp00(1) AAS
>>249
++dic[key];
253: (オッペケ Sr23-bEgw) 2017/04/23(日)13:01 ID:E5WPNsUIr(1) AAS
質問者の日本語がクソだと251のようなレスがついてしまっても仕方ない
254: (ワッチョイ 0b59-C4NQ) 2017/04/23(日)13:59 ID:onWybp6E0(3/3) AAS
>>252
ゆ、許された…!
255: (ワッチョイ 0b00-amNx) 2017/04/23(日)21:33 ID:+WngXvwH0(1) AAS
よくわかんないけどmax_elementでゲッツした数字をインクレメントしてそいつをキーにすればいいなじゃないか?
256: (ワッチョイ eac3-Fg7L) 2017/04/23(日)22:33 ID:W0RIoSIf0(1) AAS
からのターン
257: (ワッチョイ 7fd4-fTYt) [age] 2017/04/25(火)01:55 ID:2owVuizj0(1/2) AAS
fopen()を使う場合は、
shared_ptr<FILE> fp( fopen( "ファイルパス", "r" ), fclose );
と書けるんですが、
fopen_sのように、戻り値でFILE*を取得できない場合は、shared_ptrにできないんでしょうか?
258(2): (ワッチョイ 0b00-amNx) 2017/04/25(火)02:09 ID:L5bW9/iP0(1) AAS
ステップ1:shared_ptr<FILE> fp( [] { FILE* fp; fopen_s( &fp, "ファイルパス", "r" ); return fp; }(), fclose() );
ステップ2:おわり
マックはかんたんなんだ。
259: 257 (ワッチョイ 7fd4-fTYt) 2017/04/25(火)07:41 ID:2owVuizj0(2/2) AAS
>>258
おおお、なるほど!ラムダ式が使えるんですね!
おかげさまでうまくいきました!
この方法なら、shared_ptr化できる対象がさらに増やせますね。
どうもありがとうございました!
260: (ワッチョイ de92-UbXF) 2017/04/25(火)08:33 ID:OEZA+HZE0(1) AAS
クラス化したほうがいいよ
261(3): (ワッチョイ 8acc-C5/3) 2017/04/25(火)09:08 ID:qHdDYIsy0(1) AAS
>>258
最初にNULL入れておかんと未定義になるかもでよ
262(1): (ガックシ 06c6-kpPm) 2017/04/25(火)14:04 ID:o5+7I7e76(1/2) AAS
超初心者です。
Ptr<Hoge> abc::createHoge()
abc::Hoge::do()
すると、
静的でないメンバー参照は特定のオブジェクトを基準とする相対参照である必要があります
と言われました。
Hogeのdoを使うにはどうすればいいですか?
263: (ブーイモ MMef-FQBx) 2017/04/25(火)14:18 ID:P05pQrZGM(1) AAS
>>262
Ptr<Hoge> p = abc::createHoge();
p->do();
あとは初心者スレに行くべし
264: (ガックシ 06c6-kpPm) 2017/04/25(火)14:28 ID:o5+7I7e76(2/2) AAS
できました!ありがとうございます
265: (スップ Sd4a-Et+B) 2017/04/25(火)14:33 ID:Z7zV+yycd(1) AAS
いえいえどういたしまして
266(3): (オッペケ Sr23-bEgw) 2017/04/25(火)22:33 ID:ggixqTU6r(1) AAS
>>261
他人をおとしいれるのがそんな楽しいのか?
267: (ワンミングク MMfa-OSeR) 2017/04/25(火)23:25 ID:xMNxUhiOM(1) AAS
>>266
そんな事で陥れられるの?生きていくの大変そうだね。
268(1): (ワッチョイ aa36-a+Jf) 2017/04/25(火)23:34 ID:9Zr4ftW/0(1) AAS
>>266
単なる勘違いとか無知とかかもしれないのに、なんでそんなに悪意に満ちた解釈をするのだろう。
それに、その書き込みで誰かが陥れられるというなら、攻撃するより先にその誰かを助けてあげる書き込みをする方がいいんでないか?
269: (ワッチョイ 0b59-C4NQ) 2017/04/25(火)23:34 ID:oTWBT7hM0(1) AAS
std::shared_ptr<T>::get()
270: (ワッチョイ 8acc-C5/3) 2017/04/26(水)00:03 ID:/Py/BDPD0(1/2) AAS
ステップ1:shared_ptr<FILE> fp( [] { FILE* fp=0←ココ; fopen_s( &fp, "ファイルパス", "r" ); return fp; }(), fclose() );
ステップ2:おわり
271: (ワッチョイ 0b00-amNx) 2017/04/26(水)01:30 ID:zA6HVqFs0(1) AAS
止めて!私のことで争わないで
272: ich1 (アウアウウー Sacf-CGRX) 2017/04/26(水)07:22 ID:KcpaNie5a(1) AAS
外部リンク:goo.gl
これは嘘でしょ?
本当なら落ち込むわ。。
273(1): (オッペケ Sr23-bEgw) 2017/04/26(水)08:02 ID:jkGhVm4nr(1) AAS
>>268
>助けてあげる書き込みをする方がいいんでないか?
>>261さえ無ければ質問者は幸せになれるのだから、質問者がリファレンスを見直せば一瞬でわかるような内容は
「アホに惑わされず一読したままの解釈で正しい」ことだけフォローすれば十分ではないか
274(4): (ワッチョイ 7fd4-fTYt) 2017/04/26(水)17:54 ID:BTdjOnYo0(1) AAS
画像リンク[jpg]:andriasang.com
画像リンク[jpg]:game.watch.impress.co.jp
画像リンク[jpg]:game.watch.impress.co.jp
こういうGUIって、どうやって作るんでしょうか?
Win32APIで頑張れば作れるんでしょうか?
それとも、ライブラリが売られたりしているんでしょうか??
275: (ワッチョイ 8acc-C5/3) 2017/04/26(水)18:00 ID:/Py/BDPD0(2/2) AAS
TVTestのソースが参考になる
276: (ワッチョイ 0b7a-g4bp) 2017/04/26(水)20:24 ID:5Saru3KQ0(1) AAS
もちろん作れる
自分でレンダリングしなきゃいけないしテクスチャも描かないといけないけど
277: (ササクッテロル Sp1f-wV0R) 2017/04/28(金)01:35 ID:0T/EiQwUp(1) AAS
こういうの作るならQtとか使いたくなる
278(1): (ワッチョイ 7b75-Eih5) 2017/04/28(金)09:33 ID:UVvcEOOo0(1/2) AAS
>>273
質問者がリファレンスを見直せば一瞬でわかるような内容なら別にフォローの必要もないだろ。
調べないような奴なら安全な方に倒れていた方が良い。無駄でもたいしたコストではない。
よって >>261のせいで質問者が不幸せになるという根拠が無い
279(1): (ワッチョイ 0bf7-hLAX) 2017/04/28(金)09:48 ID:mPeDNIgc0(1/2) AAS
横だけど >>274 のGUIって Qt? GTK+?
Linuxに引っ越ししようと思っているんだが、GUIツールにどれを選択しようか悩み中。
昨今のマイクロソフトはファック過ぎる、二度と使う事は無いと思っていたC++に戻る事になりそうだ。
280(1): (スップ Sd7f-8ZdP) 2017/04/28(金)12:15 ID:4D2iUcPod(1) AAS
こういうGUIって、C#で簡単に組めたりするのかな?
281: (ワッチョイ 0bf7-hLAX) 2017/04/28(金)12:46 ID:mPeDNIgc0(2/2) AAS
>>280
こういうデザインにしたいと思うなら困難だと思う
結構オリジナリティーあるパーツだし
282: (アウアウエー Sa7f-PXQB) 2017/04/28(金)15:07 ID:MOddalxma(1) AAS
>>274
画像をWindowとして表示するって裏技がWin32であったな。
懐かしい。。。
Vista以前のデスクトップアクセサリとかは、そう言う類の裏技で作られてた。
283(2): (オッペケ Sr1f-zNGF) 2017/04/28(金)18:26 ID:swDsSHUMr(1) AAS
>>278
一瞬でわかるはずの内容でも堂々と嘘を吹き込まれると不安になるだろうから安心を与えることには意味がある
と言ったつもりだったけれど日本語は苦手だった?
上下前次1-新書関写板覧索設栞歴
あと 719 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.079s