次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part133
http://mevius.5ch.net/test/read.cgi/tech/1511509970/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.102【環境依存OK】
http://mevius.5ch.net/test/read.cgi/tech/1509780815/
■長いソースを貼るときはここへ。■
http://codepad.org/
https://ideone.com/
[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
探検
C++相談室 part134
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 5fcb-Q2eK)
2018/01/20(土) 09:05:42.21ID:mJKRg6iz0314デフォルトの名無しさん (アウアウカー Sa11-2orQ)
2018/02/26(月) 10:55:31.04ID:n/n1Eejna >>313
むしろそれはアプリケーションハンガリアンじゃね?
むしろそれはアプリケーションハンガリアンじゃね?
315デフォルトの名無しさん (スップ Sdc4-aBV2)
2018/02/26(月) 11:21:30.74ID:mt/mMzV6d 間違えると大変だからハンガリアンを使ってはならないんだよ
偽の情報に頼るんではなくて元を逐一確かめないと
偽の情報に頼るんではなくて元を逐一確かめないと
316デフォルトの名無しさん (ワッチョイ 2f93-0l3D)
2018/02/26(月) 11:33:14.68ID:yfGCkThX0 今勉強してるんだけどC++ではポインタを使わずに参照で書くのがデフォルトなの?
317デフォルトの名無しさん (ワッチョイ 520e-MTlB)
2018/02/26(月) 11:36:50.47ID:TvC1o7QC0318デフォルトの名無しさん (アウアウカー Sa11-2orQ)
2018/02/26(月) 11:38:09.46ID:n/n1Eejna >>316
ポインタも必要に応じて使うけど、メモリ管理の煩雑さとミスの危険性を避けるために参照やスマートポインタやコンテナ、イテレータなど他に適切な物がある時はなるべくそちらを使うのが流儀かな。
ポインタも必要に応じて使うけど、メモリ管理の煩雑さとミスの危険性を避けるために参照やスマートポインタやコンテナ、イテレータなど他に適切な物がある時はなるべくそちらを使うのが流儀かな。
319デフォルトの名無しさん (ワッチョイ 8a05-x4Or)
2018/02/26(月) 11:51:17.55ID:lxlU26hn0 >>316
デフォ・・・まあ、そう言えなくもないか
参照でもポインタでもどっちでもいい用途には参照
ポインタでしかできないことはNULLに++や絶対番地指定
参照でしかできないことは一時オブジェクトやコピコン類
デフォ・・・まあ、そう言えなくもないか
参照でもポインタでもどっちでもいい用途には参照
ポインタでしかできないことはNULLに++や絶対番地指定
参照でしかできないことは一時オブジェクトやコピコン類
320デフォルトの名無しさん (ワッチョイ ba23-k8Zo)
2018/02/26(月) 12:15:47.61ID:z/vehsiL0 書き込むときは参照ではなくポインタにしろと言ってた人がいた。
理由を聞いたら「なんか書き込んでる感がない」だった。
理由を聞いたら「なんか書き込んでる感がない」だった。
321デフォルトの名無しさん (ワッチョイ 8a05-x4Or)
2018/02/26(月) 12:17:18.65ID:lxlU26hn0 std::cin >> &a;
やだよ、こんなの
やだよ、こんなの
322デフォルトの名無しさん (ワッチョイ df7f-x4Or)
2018/02/26(月) 12:21:09.58ID:W3q5coR10 グーグル規約だと書き込む引数は参照ではなくポインタにしろってなってる
でも標準ライブラリが普通に参照で書き込んでるので意味ないかなと思う
でも標準ライブラリが普通に参照で書き込んでるので意味ないかなと思う
323デフォルトの名無しさん (スフッ Sd94-OThY)
2018/02/26(月) 13:05:03.30ID:LqmnPPXld やC++糞
324デフォルトの名無しさん (ワッチョイ 147e-x4Or)
2018/02/26(月) 13:30:49.55ID:jQ6YvoyL0 好きな方使えとしか言いようがない
ただ参照はnullポインタが無いという特性はある
ただ参照はnullポインタが無いという特性はある
325デフォルトの名無しさん (ワッチョイ ba23-k8Zo)
2018/02/26(月) 13:42:09.37ID:z/vehsiL0326デフォルトの名無しさん (ワッチョイ 2f93-0l3D)
2018/02/26(月) 13:44:00.32ID:yfGCkThX0 レスサンクス
cからだからポインタで書いちゃいそうだわ
cからだからポインタで書いちゃいそうだわ
327デフォルトの名無しさん (アウーイモ MM3a-QuQl)
2018/02/26(月) 18:25:47.85ID:aHz4HBvIM ローカルで宣言したunique_ptrを他のメソッドに渡してデータをつめたいばあいってどういう引数で渡せば良いの?
unique_ptr<Hoge> ptr(new Hoge);
hogehoge(ptr);
Hogehoge::hoge(const unique_ptr<Hoge>& ptr){
ptr->aaa = 123;
}
これでいける?
なんかウェブサイトみてると&&二つとかあったりするの見かけて混乱してきた
unique_ptr<Hoge> ptr(new Hoge);
hogehoge(ptr);
Hogehoge::hoge(const unique_ptr<Hoge>& ptr){
ptr->aaa = 123;
}
これでいける?
なんかウェブサイトみてると&&二つとかあったりするの見かけて混乱してきた
328デフォルトの名無しさん (ワッチョイ fae7-RzsP)
2018/02/26(月) 18:46:48.22ID:6OgFttId0 &&は所有権ごとぶん投げる時に使う
渡した後も呼び出し元で使うんだったらそれて合ってるぞ
渡した後も呼び出し元で使うんだったらそれて合ってるぞ
329デフォルトの名無しさん (ワッチョイ d0e8-z5Dr)
2018/02/26(月) 19:00:19.12ID:r2m2Cr000 >>327
それだったらunique_ptrじゃなくて参照渡せば良いだけじゃ
それだったらunique_ptrじゃなくて参照渡せば良いだけじゃ
330デフォルトの名無しさん (ワッチョイ 0a80-IMbs)
2018/02/26(月) 19:31:15.52ID:NcBRNf650 知らない間に、&& みたいな参照渡しもできた
Rust の所有権ムーブの事
Rust の所有権ムーブの事
331デフォルトの名無しさん (ワッチョイ 147e-x4Or)
2018/02/26(月) 19:58:16.47ID:jQ6YvoyL0 何年も前からある
332デフォルトの名無しさん (ワッチョイ 8610-QuQl)
2018/02/26(月) 21:01:42.73ID:k0ghrbBh0 所有権を渡すのってstd:move()だと思ってたんだけどconst &&でもいけるの??
333デフォルトの名無しさん (ワッチョイ 38eb-f0ks)
2018/02/26(月) 21:42:25.99ID:adcc2IaV0 C++17でstd::iteratorが非推奨ってなっているみたいだけど代わりに何使うの?
334デフォルトの名無しさん (ワッチョイ 0637-rG1w)
2018/02/26(月) 23:56:58.87ID:4PPe6ndQ0 []
335デフォルトの名無しさん (ワッチョイ 147e-x4Or)
2018/02/27(火) 00:00:22.09ID:o+FKgYKC0 >>333
自分で実装する
自分で実装する
336はちみつ餃子 ◆8X2XSCHEME (ワッチョイ e66f-x4Or)
2018/02/27(火) 02:00:32.40ID:+XEdVvf40337はちみつ餃子 ◆8X2XSCHEME (ワッチョイ e66f-x4Or)
2018/02/27(火) 02:10:59.44ID:+XEdVvf40 && は単純に右辺参照って意味しかないから、 rvalue を受け取れるってだけ。
だけど lvalue でもムーブしてぇってときは std::move で rvalue にキャストすんの。
だけど lvalue でもムーブしてぇってときは std::move で rvalue にキャストすんの。
338デフォルトの名無しさん (ワッチョイ 147e-x4Or)
2018/02/27(火) 02:19:45.35ID:o+FKgYKC0 そこら辺はめんどくさいからテンプレート使え
339デフォルトの名無しさん (ワッチョイ 8610-QuQl)
2018/02/28(水) 18:07:41.72ID:IZRayiSM0 右辺値参照とか難しいなー
最近ようやくC++11使えるようになったから全然いってることがわからん
最近ようやくC++11使えるようになったから全然いってることがわからん
340片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-HaFh)
2018/02/28(水) 18:34:51.95ID:jmOf6Upnd 右辺値参照が使えなかった頃は、std::swapでスピード最適化していた。ポインタとメモリー確保を含む構造体は、
単純にスワップしたり、単純にバイト単位コピーしたりするのはまずいことがある。
そういうときに、std::swapを使う。右辺値参照は、それよりちょっと速くて賢いが、テンプレート型を理解してないと多分理解できないと思われる。
単純にスワップしたり、単純にバイト単位コピーしたりするのはまずいことがある。
そういうときに、std::swapを使う。右辺値参照は、それよりちょっと速くて賢いが、テンプレート型を理解してないと多分理解できないと思われる。
341片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-HaFh)
2018/02/28(水) 18:43:18.32ID:jmOf6Upnd 右辺値参照の型はテンプレートを使った特殊な型だと考えるのが自然。
T&& === rvalue_ref<T>.
std::move(T&)はrvalue_ref<T>という型。
T&& === rvalue_ref<T>.
std::move(T&)はrvalue_ref<T>という型。
342片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-HaFh)
2018/02/28(水) 18:44:28.64ID:jmOf6Upnd 訂正。
std::move(T&)の戻り値はrvalue_ref<T>という型。
std::move(T&)の戻り値はrvalue_ref<T>という型。
343片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-HaFh)
2018/02/28(水) 19:01:47.21ID:jmOf6Upnd すみません、テキトーなことを書いたので、銃殺されます。
344はちみつ餃子 ◆8X2XSCHEME (ワッチョイ e66f-x4Or)
2018/02/28(水) 19:18:07.29ID:7ezW7mFb0 実際のところヘッダファイルから std::move の定義を抜き出すとこんな感じ。
template<typename _Tp>
constexpr typename std::remove_reference<_Tp>::type&&
move(_Tp&& __t) noexcept {
return static_cast<typename std::remove_reference<_Tp>::type&&>(__t);
}
テンプレートの都合で面倒くさくなってるけど、実態としては static_cast してるだけ。
template<typename _Tp>
constexpr typename std::remove_reference<_Tp>::type&&
move(_Tp&& __t) noexcept {
return static_cast<typename std::remove_reference<_Tp>::type&&>(__t);
}
テンプレートの都合で面倒くさくなってるけど、実態としては static_cast してるだけ。
345片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-HaFh)
2018/02/28(水) 19:24:03.59ID:jmOf6Upnd そのstd::remove_reference<T>::typeはTから左辺値参照や右辺値参照をはずした型になるね。それに&&を付けるんだから、左辺値参照が右辺値参照になる。
346片山博文MZ ◆T6xkBnTXz7B0 (ワッチョイ a6b3-HaFh)
2018/02/28(水) 19:25:31.22ID:AZJp7LrB0 やはり、constexprやnoexceptを付けた方が性能がいいんだな。
347はちみつ餃子 ◆8X2XSCHEME (ワッチョイ e66f-x4Or)
2018/02/28(水) 19:35:33.38ID:7ezW7mFb0 C++17 では noexcept は型の一部という扱いに変更された。
例外を投げないなら投げないと書いておかないと他のライブラリとの組合せで型エラーになったりすることもあるかもしれんぞ。
例外を投げないなら投げないと書いておかないと他のライブラリとの組合せで型エラーになったりすることもあるかもしれんぞ。
348片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd94-HaFh)
2018/02/28(水) 19:43:54.33ID:jmOf6Upnd やっぱ江添亮様ってスゲーや。
349デフォルトの名無しさん (ワッチョイ 147e-x4Or)
2018/02/28(水) 21:22:30.07ID:BlsGZA5I0 江添本にこの辺りのチートシートと問題集いれたら100部くらい売り上げ増えるのでは
350デフォルトの名無しさん (ワッチョイ eff2-x4Or)
2018/02/28(水) 21:27:43.47ID:LDTKKB+20 江添ってあれか。ニートの時にやることないからたまたま目についたC++の仕様書を読み込んでたら
いつの間にかすごく強くなったという、ホリランみたいな。
いつの間にかすごく強くなったという、ホリランみたいな。
351デフォルトの名無しさん (ワッチョイ 1651-x4Or)
2018/02/28(水) 21:32:34.60ID:eOQjYTv40 おまえそれをバカにできるのか?
仕事ってそういうもんだぜ
目の前の案件のために必死こいても付け焼き刃にできることは知れてるんだよ
「ヒマ」なときに遠くを見て投機的にコツコツ努力したことが
あとで花咲くことがあるし咲かないこともある
賭に勝った者を、降りたやつがバカにできるのか? え、おい
仕事ってそういうもんだぜ
目の前の案件のために必死こいても付け焼き刃にできることは知れてるんだよ
「ヒマ」なときに遠くを見て投機的にコツコツ努力したことが
あとで花咲くことがあるし咲かないこともある
賭に勝った者を、降りたやつがバカにできるのか? え、おい
352デフォルトの名無しさん (ワッチョイ 8abd-2pQG)
2018/02/28(水) 22:02:12.40ID:debsNNov0353デフォルトの名無しさん (ブーイモ MM5e-chUR)
2018/02/28(水) 22:22:45.57ID:n9jVMobsM >>352
outは**だろ
outは**だろ
354デフォルトの名無しさん (ワッチョイ f680-IMbs)
2018/02/28(水) 22:38:47.40ID:ugxprRf80 && は、Rust のmove の事。
所有権移転。移転元が空になる
基本的に数年は、ドワンゴ江添と共に、山ごもり!
江添が空海なら、漏れは最澄w
悟りを開くまで、空海・最澄の一問一答が、延々と続くw
所有権移転。移転元が空になる
基本的に数年は、ドワンゴ江添と共に、山ごもり!
江添が空海なら、漏れは最澄w
悟りを開くまで、空海・最澄の一問一答が、延々と続くw
355はちみつ餃子 ◆8X2XSCHEME (ワッチョイ e66f-x4Or)
2018/02/28(水) 23:03:26.56ID:7ezW7mFb0 rvalue reference 自体はムーブしねぇつってるだろ。
356デフォルトの名無しさん (ワッチョイ df34-CuRu)
2018/03/01(木) 02:40:44.97ID:Cta7ST2f0 &&は所有権付き参照オブジェクトのようなものだな
357デフォルトの名無しさん (ワッチョイ bfe7-s382)
2018/03/01(木) 07:05:17.46ID:/bb7E7Gp0 &&参照は「このオブジェクトもういらないからぶっ壊してもいいよ」というサイン
言うなれば肉屋へ行く馬車
野生のオブジェクトは誰に断る必要もないので勝手に連れてかれて解体される
家畜を渡す時は解体に同意するサイン(std::move())が必要
言うなれば肉屋へ行く馬車
野生のオブジェクトは誰に断る必要もないので勝手に連れてかれて解体される
家畜を渡す時は解体に同意するサイン(std::move())が必要
358デフォルトの名無しさん (アウーイモ MM2b-wIew)
2018/03/01(木) 07:13:49.75ID:YKLxBKOvM Fooクラスのunique_ptrがつまったvectorを作って、他クラスのメンバ変数にセットするときはどう渡すべき?
作った元ではもう使わないから所有権放棄していいとする
const参照渡しにして、渡された側でvectorの中身を全部std:move()して新しいvectorにつめるのが一番最初に思い浮かんだ
そんなことしなくても最近ここででてる、&&つけて渡してそのままセットすれば解決するのかな?
作った元ではもう使わないから所有権放棄していいとする
const参照渡しにして、渡された側でvectorの中身を全部std:move()して新しいvectorにつめるのが一番最初に思い浮かんだ
そんなことしなくても最近ここででてる、&&つけて渡してそのままセットすれば解決するのかな?
359デフォルトの名無しさん (ワッチョイ bfe7-s382)
2018/03/01(木) 07:20:14.18ID:/bb7E7Gp0 vectorを丸ごとmove付けてコンストラクタに渡せばいいよ
出来上がった後で渡したいならswapすればいい
出来上がった後で渡したいならswapすればいい
360デフォルトの名無しさん (アウーイモ MM2b-wIew)
2018/03/01(木) 08:22:01.82ID:YKLxBKOvM なるほどー
コードにするとこんな感じかな?
std::vector<std::unique_ptr>vec_hoge;
...
Hoge hoge;
hoge.setHoge(std:move(vec_hoge))
Hoge::setHoge(vector<unique_ptr>&& vec_hoge) {
this-> vec_hoge = vec_hoge;
}
コードにするとこんな感じかな?
std::vector<std::unique_ptr>vec_hoge;
...
Hoge hoge;
hoge.setHoge(std:move(vec_hoge))
Hoge::setHoge(vector<unique_ptr>&& vec_hoge) {
this-> vec_hoge = vec_hoge;
}
361デフォルトの名無しさん (ブーイモ MMcf-pwu8)
2018/03/01(木) 08:51:22.88ID:Z75vpagFM >>360
最後にmove必要
最後にmove必要
362はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bf6f-m1UI)
2018/03/01(木) 08:54:17.19ID:1485DW7Q0 せやな。
rvalue reference は lvalue だぞ。
rvalue reference は lvalue だぞ。
363デフォルトの名無しさん (アウーイモ MM2b-wIew)
2018/03/01(木) 10:38:08.68ID:YKLxBKOvM ありがとう!勉強になりました
364デフォルトの名無しさん (ワッチョイ dfbd-lEE9)
2018/03/01(木) 22:06:37.33ID:fp7iC0tG0 >>353
ちげう
ちげう
365デフォルトの名無しさん (アウアウカー Sabb-5mf3)
2018/03/02(金) 07:10:33.20ID:GbvR6g/La noexceptにtrue,falseがある理由については
#include <type_traits>
template<typename T>
void test(T t)noexcept(is_unsigned<T>){
//Tの型がunsignedの時だけは例外は投げない
}
こういう事が出来ると書いてあったけど、c++17以降も問題なく使えるだろうか?
#include <type_traits>
template<typename T>
void test(T t)noexcept(is_unsigned<T>){
//Tの型がunsignedの時だけは例外は投げない
}
こういう事が出来ると書いてあったけど、c++17以降も問題なく使えるだろうか?
366デフォルトの名無しさん (ワッチョイ df52-m1UI)
2018/03/02(金) 07:15:24.27ID:bNTu0vGw0 is_unsigned_vだろ
なぜC++17以後で廃止になると思ったんだ?
なぜC++17以後で廃止になると思ったんだ?
367デフォルトの名無しさん (アウアウカー Sabb-5mf3)
2018/03/02(金) 07:38:40.59ID:GbvR6g/La stdも抜けてた。。。
廃止になるじゃなく面倒な事になりそうだと。
廃止になるじゃなく面倒な事になりそうだと。
368デフォルトの名無しさん (ワッチョイ df80-zeCZ)
2018/03/02(金) 08:07:40.62ID:mIGjbFX+0 unsigned は組み込み用だろ
0 〜 255 のカウンターなどで、無限にループする。
255の次に、0が来る
overflow にされると困る
0 〜 255 のカウンターなどで、無限にループする。
255の次に、0が来る
overflow にされると困る
369デフォルトの名無しさん (ブーイモ MMcf-pwu8)
2018/03/02(金) 08:51:13.35ID:Du7whmdSM >>368
組み込みでなくても極々普通に使うし、標準ライブラリ使ってれば知らぬ間に使ってる。
組み込みでなくても極々普通に使うし、標準ライブラリ使ってれば知らぬ間に使ってる。
370デフォルトの名無しさん (ワッチョイ 5f7e-m1UI)
2018/03/02(金) 09:14:23.17ID:vziGgrtU0 size_t
371デフォルトの名無しさん (ワッチョイ df52-m1UI)
2018/03/02(金) 09:29:49.65ID:bNTu0vGw0 それを言うなら
uintptr_t
uintptr_t
372デフォルトの名無しさん (スプッッ Sd7f-yS6n)
2018/03/02(金) 12:01:58.77ID:D+SIA0G1d 普段は uint_xxt と size_t しか使わんわ
int と ptr あんまり相互に変換しないし
int と ptr あんまり相互に変換しないし
373デフォルトの名無しさん (マクド FFbb-x7J7)
2018/03/02(金) 22:27:40.22ID:3pZ6Fb9JF visualstudio2017 でスタックトレースがしたいのですができません。
最初はBoost.StackTraceで試みたのですがMSVCでは行数やファイル名の出力が非対応で
アドレスまでしか取れませんでした。
次にWinAPIを使って解決させようとしたのですがこれもうまく行きません。
SymGetSymFromAddrを使うとどうやってもエラー126が帰ってきてしまいます。
以下のプログラムがVisualstudio2017で動作している人はいないでしょうか?
ttps://github.com/shive/blogpost/blob/master/20130918-stacktrace/main.cpp
最初はBoost.StackTraceで試みたのですがMSVCでは行数やファイル名の出力が非対応で
アドレスまでしか取れませんでした。
次にWinAPIを使って解決させようとしたのですがこれもうまく行きません。
SymGetSymFromAddrを使うとどうやってもエラー126が帰ってきてしまいます。
以下のプログラムがVisualstudio2017で動作している人はいないでしょうか?
ttps://github.com/shive/blogpost/blob/master/20130918-stacktrace/main.cpp
374デフォルトの名無しさん (ワッチョイ 7f95-A/Ur)
2018/03/02(金) 23:27:18.83ID:KYEHMUiK0 スタートレックと空目した
375デフォルトの名無しさん (ワッチョイ 5f7e-m1UI)
2018/03/02(金) 23:40:43.96ID:vziGgrtU0 >>373
こうなった
---- BEGIN BACKTRACE ----
1 : 0x00e76873 : Project1 : mycode::foo : c:\users\\source\repos\project1\project1\main.cpp(116) :
backtrace();
2 : 0x00e76513 : Project1 : mycode::bar : c:\users\\source\repos\project1\project1\main.cpp(120) :
foo();
3 : 0x00e76563 : Project1 : mycode::baz : c:\users\\source\repos\project1\project1\main.cpp(124) :
bar();
4 : 0x00e76b33 : Project1 : mycode::hoge : c:\users\\source\repos\project1\project1\main.cpp(128) :
baz();
5 : 0x00e76f0d : Project1 : main : c:\users\\source\repos\project1\project1\main.cpp(134) : try {
6 : 0x00e7870e : Project1 : invoke_main : f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl(78) : ?
7 : 0x00e785b0 : Project1 : __scrt_common_main_seh : f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl(283) : ?
---- END BACKTRACE ----
こうなった
---- BEGIN BACKTRACE ----
1 : 0x00e76873 : Project1 : mycode::foo : c:\users\\source\repos\project1\project1\main.cpp(116) :
backtrace();
2 : 0x00e76513 : Project1 : mycode::bar : c:\users\\source\repos\project1\project1\main.cpp(120) :
foo();
3 : 0x00e76563 : Project1 : mycode::baz : c:\users\\source\repos\project1\project1\main.cpp(124) :
bar();
4 : 0x00e76b33 : Project1 : mycode::hoge : c:\users\\source\repos\project1\project1\main.cpp(128) :
baz();
5 : 0x00e76f0d : Project1 : main : c:\users\\source\repos\project1\project1\main.cpp(134) : try {
6 : 0x00e7870e : Project1 : invoke_main : f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl(78) : ?
7 : 0x00e785b0 : Project1 : __scrt_common_main_seh : f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl(283) : ?
---- END BACKTRACE ----
376片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sdff-dixK)
2018/03/02(金) 23:47:44.16ID:7K8TE86Qd377373 (ワイモマー MMff-cxM0)
2018/03/03(土) 01:05:16.48ID:7bxI8Ps/M378デフォルトの名無しさん (ワッチョイ 5f7e-m1UI)
2018/03/03(土) 01:52:28.21ID:e0EB+SLu0 >>377
Windows10で実行
ライブラリは追加したのと
このFileNameがchar*でmsvcでは通らないから適当に文字列のバッファを作って渡した
>94 line.FileName = "?";
Windows10で実行
ライブラリは追加したのと
このFileNameがchar*でmsvcでは通らないから適当に文字列のバッファを作って渡した
>94 line.FileName = "?";
379373 (マクド FFbb-x7J7)
2018/03/03(土) 07:43:32.07ID:MjEj/kk+F >>378
自分はWindows7&VisualStudio2017なのですが
dbghelp.lib、dgbhelp.hを探すと以下の場所にあるのでWin10でしか対応していないのかなと…
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.16299.0\um\x86
C:\Program Files (x86)\Windows Kits\10\Include\10.0.16299.0\um
C:\Program Files (x86)\Windows Kitsの下には8.1と10
という名前のフォルダがあるのでOSの番号ぽいです。
dbghelp.dllならそこらじゅうにあるのでLoadModule関数で呼べばいけるのかも
自分はWindows7&VisualStudio2017なのですが
dbghelp.lib、dgbhelp.hを探すと以下の場所にあるのでWin10でしか対応していないのかなと…
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.16299.0\um\x86
C:\Program Files (x86)\Windows Kits\10\Include\10.0.16299.0\um
C:\Program Files (x86)\Windows Kitsの下には8.1と10
という名前のフォルダがあるのでOSの番号ぽいです。
dbghelp.dllならそこらじゅうにあるのでLoadModule関数で呼べばいけるのかも
380373 (マクド FFbb-x7J7)
2018/03/03(土) 08:51:25.52ID:MjEj/kk+F VisualStudio Installerで構成の変更をしようとすると
'Windows XP Support for C++'というのがあって
これがWindows7用のSDKらしいです。(どんな名前の付け方だ…)
これをインストールするとめでたくdbghelp.libとdbghelp.hが追加されるので
それでコンパイルしようとすると
#include <dbghelp.h>
とかくだけでコンパイルエラーになってしまいました。
エラー C2760 構文エラー: トークン '識別子' は予期されておらず、'型指定子' が予期されています scratch c:\program files (x86)\microsoft sdks\windows\v7.1a\include\objbase.h 239
Windows10を買うかVisualStudio2015をインストールするかしかないのかもしれません;;
'Windows XP Support for C++'というのがあって
これがWindows7用のSDKらしいです。(どんな名前の付け方だ…)
これをインストールするとめでたくdbghelp.libとdbghelp.hが追加されるので
それでコンパイルしようとすると
#include <dbghelp.h>
とかくだけでコンパイルエラーになってしまいました。
エラー C2760 構文エラー: トークン '識別子' は予期されておらず、'型指定子' が予期されています scratch c:\program files (x86)\microsoft sdks\windows\v7.1a\include\objbase.h 239
Windows10を買うかVisualStudio2015をインストールするかしかないのかもしれません;;
381デフォルトの名無しさん (ワッチョイ 8723-WWZl)
2018/03/03(土) 09:17:35.93ID:iGrPHQq30 >>380
Visual Studio 2017 スレの919あたりから話題になっているけど、
VS2017 の Windows 旧バージョンサポートはおかしいみたい。
2015と同じツールセット、SDKを用いても動作が違う。
2015をインストールするのがいい気がする。
参考
Visual Studio 2017 Part4 ・
http://mevius.5ch.net/test/read.cgi/tech/1509244956/
https://www.visualstudio.com/ja/vs/older-downloads/
Visual Studio 2017 スレの919あたりから話題になっているけど、
VS2017 の Windows 旧バージョンサポートはおかしいみたい。
2015と同じツールセット、SDKを用いても動作が違う。
2015をインストールするのがいい気がする。
参考
Visual Studio 2017 Part4 ・
http://mevius.5ch.net/test/read.cgi/tech/1509244956/
https://www.visualstudio.com/ja/vs/older-downloads/
382デフォルトの名無しさん (スップ Sdff-b+My)
2018/03/03(土) 10:29:47.52ID:eUUf6Fhxd コンパイラを作っているんですが、char 10bit short 18bitの時はsizeofはいくつを返せばいいんですか?
383デフォルトの名無しさん (ワッチョイ 078a-Jyeh)
2018/03/03(土) 10:36:52.34ID:/0Rk5gcF0 >>382
アドレス単位を返す。ワードアドレッシングなら通常全て1になる
アドレス単位を返す。ワードアドレッシングなら通常全て1になる
384デフォルトの名無しさん (ワッチョイ 8723-WWZl)
2018/03/03(土) 10:42:04.53ID:iGrPHQq30 メモリ上のレイアウト次第
その18ビットを隙間だらけでchar8個分のメモリに置いてるなら8だし、
詰めて2個分で置いてるなら2
その18ビットを隙間だらけでchar8個分のメモリに置いてるなら8だし、
詰めて2個分で置いてるなら2
385デフォルトの名無しさん (ワッチョイ df7f-nnrn)
2018/03/03(土) 10:51:46.74ID:sKvL+uoJ0 sizeof(char)は必ず1じゃなかったっけ?
386デフォルトの名無しさん
2018/03/03(土) 12:49:02.99 sizeofが小数を返しちゃいけないって誰が決めたの?🙄
387はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bf6f-m1UI)
2018/03/03(土) 13:15:05.21ID:uc6Z/AdW0 >>386
仕様。
C99 だと 7.17 に size_t は sizeof 演算子の結果の符号無し整数型って書いてある。
C++11 だと 5.3.3 に sizeof 演算子の返却値の型は size_t って書いてあって、
18.2 に size_t は符号無し整数型って書いてある。
仕様。
C99 だと 7.17 に size_t は sizeof 演算子の結果の符号無し整数型って書いてある。
C++11 だと 5.3.3 に sizeof 演算子の返却値の型は size_t って書いてあって、
18.2 に size_t は符号無し整数型って書いてある。
388デフォルトの名無しさん (ワッチョイ df52-m1UI)
2018/03/03(土) 13:20:00.43ID:Yc5zIgYv0 sizeof(bool) == 0.125 であって欲しいのかw
389はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bf6f-m1UI)
2018/03/03(土) 13:43:14.93ID:uc6Z/AdW0 どうせ汎整数昇格で int になることばかりなので、
アドレス単位以下の小さなオブジェクトにする意味なんてないよ。
大きな配列で扱いたいときは std::bitset が有るし。
アドレス単位以下の小さなオブジェクトにする意味なんてないよ。
大きな配列で扱いたいときは std::bitset が有るし。
390デフォルトの名無しさん
2018/03/03(土) 14:56:24.32 >>387
ありがとう🤣
ありがとう🤣
391デフォルトの名無しさん (ワッチョイ dff9-5eZn)
2018/03/03(土) 15:45:51.52ID:+GZAkR500 >>389
もしsizeofが小数を返したら汎整数昇格は適用されないんじゃない?
もしsizeofが小数を返したら汎整数昇格は適用されないんじゃない?
392デフォルトの名無しさん (ワッチョイ 5f7e-m1UI)
2018/03/03(土) 16:09:32.75ID:e0EB+SLu0 使用者が混乱するような仕様はちょっと
393デフォルトの名無しさん (ワッチョイ df8f-obH6)
2018/03/03(土) 18:28:41.77ID:OIzMcqKj0 この板に書いてあることがほとんどわかっていないようなクソ素人ですみませんがちょっとお聞きしたいことがあります。
Windows 7でOpenCVをTDM-GCCにて動かしたいと思っているのですが、どなたかこの設定で動かされている方など居られますでしょうか?
もしくは素直にVisualStudioなど使ったほうが良いのでしょうか?
昨日からあれこれ試しているのですがまったく動かないです。
Windows 7でOpenCVをTDM-GCCにて動かしたいと思っているのですが、どなたかこの設定で動かされている方など居られますでしょうか?
もしくは素直にVisualStudioなど使ったほうが良いのでしょうか?
昨日からあれこれ試しているのですがまったく動かないです。
394片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sdff-dixK)
2018/03/03(土) 19:01:36.20ID:ZgUZF4A1d >>393
俺ならパッケージマネージャがあるMSYS2+MinGW使うよ。
パッケージマネージャがないTDM-GCCなら、まず、OpenCVをビルドして、リンクできるようにしないといけない。
まあ、めんどうくさい訳で。
俺ならパッケージマネージャがあるMSYS2+MinGW使うよ。
パッケージマネージャがないTDM-GCCなら、まず、OpenCVをビルドして、リンクできるようにしないといけない。
まあ、めんどうくさい訳で。
395片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sdff-dixK)
2018/03/03(土) 19:37:06.06ID:ZgUZF4A1d 初心者はVSやるとよろし。NuGetというパッケージマネージャがあるよ。
396デフォルトの名無しさん (ワッチョイ df8f-obH6)
2018/03/03(土) 20:12:29.49ID:OIzMcqKj0 片山様
レスありがとうございます。
そうですね、VSは重いという理由で避けていましたがやはりまずはちゃんと王道からやっていこうと思います。
慣れたらソースからビルドもしてみたいですが、まずはOpenCVであれこれしたいのでやりやすい環境で頑張りたいと思います。
ありがとうございました。
レスありがとうございます。
そうですね、VSは重いという理由で避けていましたがやはりまずはちゃんと王道からやっていこうと思います。
慣れたらソースからビルドもしてみたいですが、まずはOpenCVであれこれしたいのでやりやすい環境で頑張りたいと思います。
ありがとうございました。
397はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bf6f-m1UI)
2018/03/03(土) 20:37:52.59ID:uc6Z/AdW0 VS の統合開発環境を外したツールセットだけの SDK もあったはず。
でもまあ初心者は統合開発環境があった方がいいってのは同意だな。
でもまあ初心者は統合開発環境があった方がいいってのは同意だな。
398デフォルトの名無しさん (アウアウカー Sabb-5mf3)
2018/03/03(土) 21:19:46.86ID:oo1zjTPVa C++の文字列、u16やu32stringとか乱立してるけど今時TCHARとか使わないでしょうか?
string,wstring,u16string,u32string...どれか決め打ち?
string,wstring,u16string,u32string...どれか決め打ち?
399デフォルトの名無しさん (ワッチョイ 8723-WWZl)
2018/03/03(土) 21:37:46.21ID:iGrPHQq30 主に使ってるライブラリ/フレームワークに合わせれば?
何でもいいなら multibyte で utf-8 一択だろう
ucs2 (16bit) にしても ucs4 (32bit) にしてもどうせ
合字とかで1コードポイント1文字にならないから意味ないし
コンテナは string でも何でも好きなものを
何でもいいなら multibyte で utf-8 一択だろう
ucs2 (16bit) にしても ucs4 (32bit) にしてもどうせ
合字とかで1コードポイント1文字にならないから意味ないし
コンテナは string でも何でも好きなものを
400はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bf6f-m1UI)
2018/03/03(土) 21:52:22.75ID:uc6Z/AdW0 どうやろな?
Windows だと API が UTF-16 前提だからそれで揃えるってのは悪くない選択だと思うし。
Windows だと API が UTF-16 前提だからそれで揃えるってのは悪くない選択だと思うし。
401デフォルトの名無しさん (ワッチョイ 5f7e-m1UI)
2018/03/03(土) 21:55:03.34ID:e0EB+SLu0 >>398
TCHARはcharとwchar_tをvisual studioのプロジェクトの設定で切り替えてtypedefしてる型だ
マイクロソフトのライブラリの一部
u16stringとu32stringはstd::basic_string<char16_t>とstd::basic_string<char32_t>のエイリアス
UTF-16とUTF-32の文字列を扱うクラスで標準ライブラリの一部
そもそもどっちかというものではない
std::basic_string<TCHAR>とか使ってもいい
TCHARはcharとwchar_tをvisual studioのプロジェクトの設定で切り替えてtypedefしてる型だ
マイクロソフトのライブラリの一部
u16stringとu32stringはstd::basic_string<char16_t>とstd::basic_string<char32_t>のエイリアス
UTF-16とUTF-32の文字列を扱うクラスで標準ライブラリの一部
そもそもどっちかというものではない
std::basic_string<TCHAR>とか使ってもいい
402デフォルトの名無しさん (ワッチョイ dfbd-lEE9)
2018/03/03(土) 22:02:34.74ID:i5AAIiVZ0 OpenCVのビルドぐらいCMakeでGUIでできる
403デフォルトの名無しさん (ワッチョイ dfbd-lEE9)
2018/03/03(土) 22:07:02.05ID:i5AAIiVZ0 >std::basic_string<TCHAR>とか使ってもいい
ほんとそれ
ていうかWin32APIでサポートされるうちはやっぱマルチバイトが無難
ほんとそれ
ていうかWin32APIでサポートされるうちはやっぱマルチバイトが無難
404デフォルトの名無しさん (ワッチョイ 4781-atej)
2018/03/03(土) 22:12:10.73ID:q1dNIabI0 ShiftJisなんて廃止して、UTF8に統一してしまえば良かったよね
405デフォルトの名無しさん (ワッチョイ 078a-Jyeh)
2018/03/03(土) 22:19:12.96ID:/0Rk5gcF0 UTFはソートのコストが高いから痛し痒しだけどね
SJISはその点は優秀かと
SJISはその点は優秀かと
406デフォルトの名無しさん (ワッチョイ df4c-jQxp)
2018/03/03(土) 22:38:49.13ID:pbvBV+5A0 Windows10はutf8モードにできたような
407はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bf6f-m1UI)
2018/03/03(土) 22:56:38.78ID:uc6Z/AdW0 文字コードを統一したところでロケールの切替えはどうせ必要なわけだし、
内部的な処理が UNICODE に統一されたので良しとするしかなかろ。
内部的な処理が UNICODE に統一されたので良しとするしかなかろ。
408デフォルトの名無しさん (ワッチョイ 4781-atej)
2018/03/03(土) 23:43:29.67ID:q1dNIabI0 utf8に統一したら、ロケールの切替って表示する文字列の言語を決める位の意味しか無いのではないかな
異なる言語の文字列でもそのまま字化けせずに表示出来た方が都合が良いように思うけど
異なる言語の文字列でもそのまま字化けせずに表示出来た方が都合が良いように思うけど
409はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bf6f-m1UI)
2018/03/04(日) 00:38:00.37ID:R9gQD4Ga0 Windows はもう 20 年以上前から Unicode 化はやってるんだってば。
UNICODE 版の API を正しく使う限り文字化けしない。
フォントの設定とかで化けることはあるかもしれんけど、
それも今はフォントリンクとかでおおよそ上手いこと処理してまうしな。
UNICODE 化できていない今までに作られたカスなアプリが消し去れないし、
カスなアプリのために ANSI 版の API (の挙動を制御するためのコードページの切替えの仕組み)
は残しておかなきゃならないけど、
Unicode への統一そのものは出来てるから満足するしかない。
っていう話ね。
UNICODE 版の API を正しく使う限り文字化けしない。
フォントの設定とかで化けることはあるかもしれんけど、
それも今はフォントリンクとかでおおよそ上手いこと処理してまうしな。
UNICODE 化できていない今までに作られたカスなアプリが消し去れないし、
カスなアプリのために ANSI 版の API (の挙動を制御するためのコードページの切替えの仕組み)
は残しておかなきゃならないけど、
Unicode への統一そのものは出来てるから満足するしかない。
っていう話ね。
410デフォルトの名無しさん (ワッチョイ bfe7-s382)
2018/03/04(日) 00:59:55.95ID:LharAyAs0 だったらVisualStudioで作ったソースファイルのデフォルトがShiftJIS固定なのをそろそろなんとかしてくれよ
411はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bf6f-m1UI)
2018/03/04(日) 01:01:33.87ID:R9gQD4Ga0 せやな。
412デフォルトの名無しさん (ワッチョイ dfbd-lEE9)
2018/03/04(日) 01:07:55.85ID:BtVPmkEs0 LinuxとかのシステムコールもUnicode化されたら考えるわアデューノシ
413デフォルトの名無しさん (ワッチョイ 079b-esDK)
2018/03/04(日) 01:14:01.78ID:fY1aJvVU0 >>410
2017で治ったんじゃなかったか
2017で治ったんじゃなかったか
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 国民 居住目的でない住宅所有者に「空室税」課せる法案を提出 ★2 [少考さん★]
- JA全農が「新おこめ券」…来年9月末の有効期限を新設、必要経費のみ上乗せ [蚤の市★]
- 【EV新税】最大2万4千円で検討 28年から、普及妨げると異論も [蚤の市★]
- 「働いて働いて」の流行語大賞に懸念 「言葉が独り歩き」 過労自殺遺族 [尺アジ★]
- アメリカ、入国時に「日本人を含む外国人観光客の最大5年分のSNS履歴の提出」義務化へ 過去10年間に使用のメールアドレスや電話番号等も★3 [Hitzeschleier★]
- 【音楽】aiko(50)の姿に騒然「どしたん?」「震えた」「泣いた」「びっくりする」「なんで…」結婚発表から4年 [Ailuropoda melanoleuca★]
- 【悲報】過労死遺族、高市早苗の流行語大賞にブチ切れwwwwwwwwwwwwwwwwwwww [802034645]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★1
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★2
- 【悲報】高市早苗、被災民に対し「自分の命くらいは自分で守ってくださいね」と切り捨てし大炎上 [339712612]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★2
- 【高市悲報】JA、発狂www「臨時に経費率を下げるので、どうかお米券を使ってください」 [246620176]
