次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part137 (正しくはpart138)
http://mevius.5ch.net/test/read.cgi/tech/1535353320/
C++相談室 part139
https://mevius.5ch.net/test/read.cgi/tech/1538755188/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.103【環境依存OK】
https://mevius.5ch.net/test/read.cgi/tech/1530384293/
■長いソースを貼るときはここへ。■
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++相談室 part140
■ このスレッドは過去ログ倉庫に格納されています
2019/01/13(日) 05:56:22.70ID:9RrR7Arz
2019/01/19(土) 17:40:40.26ID:ryB8QzdH
MarketplaceWebServiceProducts::Mockの中にあるクラスなり関数の名前と
すでに使用されている別の関数なりクラスなりの名前と衝突している
おそらくコンパイルエラーはその衝突している名前を持つものを使ってる付近で発生しているのではないかと思うが
すでに使用されている別の関数なりクラスなりの名前と衝突している
おそらくコンパイルエラーはその衝突している名前を持つものを使ってる付近で発生しているのではないかと思うが
70デフォルトの名無しさん
2019/01/19(土) 17:43:49.62ID:SwmccsG2 >67
ご回答ありがとうございます。
詳細なエラーメッセージは以下となります
エラー 1 error C2872: 'MarketplaceWebServiceProducts' : あいまいなシンボルです。 c:\users\XXXX\amazon.h 2666 1
Mock という名称が、既に使われているとか?
→
はい私もその認識でおりますが、解決方法が分かりません。
「このスレに移動します」
でいかがでしょうか
※5ちゃんねる初心者でよくわかっておりませんスレとはなんでしょうか?
>>68
権利を頂きありがとうございます。
解決策も頂けますか?
ご回答ありがとうございます。
詳細なエラーメッセージは以下となります
エラー 1 error C2872: 'MarketplaceWebServiceProducts' : あいまいなシンボルです。 c:\users\XXXX\amazon.h 2666 1
Mock という名称が、既に使われているとか?
→
はい私もその認識でおりますが、解決方法が分かりません。
「このスレに移動します」
でいかがでしょうか
※5ちゃんねる初心者でよくわかっておりませんスレとはなんでしょうか?
>>68
権利を頂きありがとうございます。
解決策も頂けますか?
71デフォルトの名無しさん
2019/01/19(土) 17:45:47.73ID:SwmccsG2 >>69
ご回答ありがとうございます。
「MarketplaceWebServiceProducts」ではなく、
「Mock」でもなく、
「Mock」の中にあるメソッドクラス定義が重複しているということでしょうか?
なるほどですね。
では一度プロジェクトをまっさらにしてどこと重複しているか地味に見つけていくしかないでしょうか?
解決策をご教授ください
ご回答ありがとうございます。
「MarketplaceWebServiceProducts」ではなく、
「Mock」でもなく、
「Mock」の中にあるメソッドクラス定義が重複しているということでしょうか?
なるほどですね。
では一度プロジェクトをまっさらにしてどこと重複しているか地味に見つけていくしかないでしょうか?
解決策をご教授ください
2019/01/19(土) 17:54:13.43ID:ryB8QzdH
using namespaceじゃなくて名前空間エイリアス使って短い別名で使えばいいんじゃないかな
正直何が衝突してるか調べるのは難儀だとおもう
正直何が衝突してるか調べるのは難儀だとおもう
2019/01/19(土) 17:55:07.01ID:1QForECs
74デフォルトの名無しさん
2019/01/19(土) 18:08:43.20ID:SwmccsG22019/01/19(土) 18:11:44.87ID:ryB8QzdH
さすがにそれはググってほしいが
https://marycore.jp/prog/cpp/namespace-alias/
https://marycore.jp/prog/cpp/namespace-alias/
76デフォルトの名無しさん
2019/01/19(土) 18:13:24.83ID:SwmccsG2 >>72
解決しました!!!!!
namespace tekitounanamae= MarketplaceWebServiceProducts;
using namespace tekitounanamae::Mock;
本当にありがとうございます!!!!!!!!!!!!
本当にありがとうございます!!!!!!!!!!!!
本当にありがとうございます!!!!!!!!!!!!
本当にありがとうございます!!!!!!!!!!!!
キモヲタ万歳!!!!!!キモヲタ役に立つ!!!!!!!!
解決しました!!!!!
namespace tekitounanamae= MarketplaceWebServiceProducts;
using namespace tekitounanamae::Mock;
本当にありがとうございます!!!!!!!!!!!!
本当にありがとうございます!!!!!!!!!!!!
本当にありがとうございます!!!!!!!!!!!!
本当にありがとうございます!!!!!!!!!!!!
キモヲタ万歳!!!!!!キモヲタ役に立つ!!!!!!!!
2019/01/19(土) 18:19:39.31ID:wiNfQeeu
>本当にありがとうございます!!!!!!!!!!!!
>キモヲタ万歳!!!!!!キモヲタ役に立つ!!!!!!!!
この質問者は、荒らしだから、無視しろ!
>キモヲタ万歳!!!!!!キモヲタ役に立つ!!!!!!!!
この質問者は、荒らしだから、無視しろ!
78デフォルトの名無しさん
2019/01/19(土) 18:23:26.12ID:SwmccsG2 >>77
はい!!もう無視してもらって構いません!解決したので!!
ただこれだけは声を大にして言いたい
>72
様
神様、王様、仏様
キモヲタ様!!!!!!!!!!!!!!!!
本当にありがとうございます!!!!!!!!!!!!
本当にありがとうございます!!!!!!!!!!!!
本当にありがとうございます!!!!!!!!!!!!
本当にありがとうございます!!!!!!!!!!!!
キモヲタ万歳!!!!!!キモヲタ役に立つ!!!!!!!!
はい!!もう無視してもらって構いません!解決したので!!
ただこれだけは声を大にして言いたい
>72
様
神様、王様、仏様
キモヲタ様!!!!!!!!!!!!!!!!
本当にありがとうございます!!!!!!!!!!!!
本当にありがとうございます!!!!!!!!!!!!
本当にありがとうございます!!!!!!!!!!!!
本当にありがとうございます!!!!!!!!!!!!
キモヲタ万歳!!!!!!キモヲタ役に立つ!!!!!!!!
2019/01/19(土) 18:31:33.69ID:P/iwNPAz
1行目を書かずに
using namespace MarketplaceWebServiceProducts::Mock;
とだけ書いたらどうなるんだろう?
using namespace MarketplaceWebServiceProducts::Mock;
とだけ書いたらどうなるんだろう?
2019/01/19(土) 18:33:04.39ID:UZImuDOq
2019/01/19(土) 18:55:01.07ID:P/iwNPAz
調べてみたら、以下のようになっていた。
MarketplaceWebServiceProducts は、namespace と interface で同じ名前が
使われている。だから、>>66 に書いてしまうと、「2行目」は、
using namespace MarketplaceWebServiceProducts::MarketplaceWebServiceProducts::Mock;
と書いた可能性もコンパイラは配慮しないといけなくなった。
この場合、書いた人の書き間違いの可能性もあるから、エラーを出したほうが良いと判断して
エラーを出した可能性がある。
[MarketplaceWebServiceProducts.cs]
namespace MarketplaceWebServiceProducts
{
/// <summary>
/// This is the Products API section of the Marketplace Web Service.
/// </summary>
public interface MarketplaceWebServiceProducts
{
・・・
}
}
MarketplaceWebServiceProducts は、namespace と interface で同じ名前が
使われている。だから、>>66 に書いてしまうと、「2行目」は、
using namespace MarketplaceWebServiceProducts::MarketplaceWebServiceProducts::Mock;
と書いた可能性もコンパイラは配慮しないといけなくなった。
この場合、書いた人の書き間違いの可能性もあるから、エラーを出したほうが良いと判断して
エラーを出した可能性がある。
[MarketplaceWebServiceProducts.cs]
namespace MarketplaceWebServiceProducts
{
/// <summary>
/// This is the Products API section of the Marketplace Web Service.
/// </summary>
public interface MarketplaceWebServiceProducts
{
・・・
}
}
2019/01/19(土) 19:09:31.96ID:dEg5febg
83デフォルトの名無しさん
2019/01/20(日) 11:17:16.20ID:VyjEZRK/ フォントが違う書き込みってどうやってるのかな。
2019/01/20(日) 12:17:33.65ID:lcBTQn4G
>>66
【改善案】
試してないが、以下のように書くとエラーが消える可能性があるかも。
[1]
using namespace MarketplaceWebServiceProducts;
using namespace Mock;
[2]
using namespace MarketplaceWebServiceProducts;
using namespace ::MarketplaceWebServiceProducts::Mock;
[3]
using namespace MarketplaceWebServiceProducts::Mock;
【改善案】
試してないが、以下のように書くとエラーが消える可能性があるかも。
[1]
using namespace MarketplaceWebServiceProducts;
using namespace Mock;
[2]
using namespace MarketplaceWebServiceProducts;
using namespace ::MarketplaceWebServiceProducts::Mock;
[3]
using namespace MarketplaceWebServiceProducts::Mock;
85デフォルトの名無しさん
2019/01/20(日) 13:56:37.78ID:Q8jHF7yk namespace mock = MarketplaceWebServiceProducts::Mock;
using namespace MarketplaceWebServiceProducts;
の方がまし
using namespace MarketplaceWebServiceProducts;
の方がまし
2019/01/20(日) 14:07:58.72ID:KgYdw/xM
にしてもなんでこんなドイツ語みたいにダラダラと長いんだろう
Javaの設計ってどっかで間違ってないか?
絶対におかしいよ
Javaの設計ってどっかで間違ってないか?
絶対におかしいよ
2019/01/20(日) 14:34:42.91ID:lcBTQn4G
2019/01/20(日) 16:21:00.45ID:QlCbm9fS
そうだな
昔のCみたいにmpwsp_mとかの方がカッコいいよな
昔のCみたいにmpwsp_mとかの方がカッコいいよな
2019/01/20(日) 16:33:31.26ID:KgYdw/xM
ただ単に空白入りの
Marketplace Web Service Products
と書ければいいだけじゃん
で、それはともかく、プログラミング業界じゃ英語のドイツ語化が進んでる
これは見ての通り
ドイツ語とは違って大文字になっているだけちょっとだけプログラミング英語の方がマシ
Marketplace Web Service Products
と書ければいいだけじゃん
で、それはともかく、プログラミング業界じゃ英語のドイツ語化が進んでる
これは見ての通り
ドイツ語とは違って大文字になっているだけちょっとだけプログラミング英語の方がマシ
90デフォルトの名無しさん
2019/01/20(日) 18:05:01.77ID:e0W63kw62019/01/20(日) 20:35:06.80ID:AhZ1TFnS
c++templateの欠点ってなんだと思います?
2019/01/20(日) 20:50:23.50ID:JCcmHSE0
所詮マクロ
2019/01/20(日) 20:55:15.65ID:oi14Cno9
コンセプト
2019/01/20(日) 21:32:39.75
コンパイラのエラー報告の野暮ったさ
2019/01/20(日) 21:41:18.95ID:6b5ouX2x
デバッガが無い
2019/01/20(日) 21:47:32.95ID:AhZ1TFnS
意外にあるね。所詮マクロというのは利点でもあると思うけど
2019/01/20(日) 21:59:43.25ID:xJh8HFJd
なぜかpublic以外にアクセスできてしまう
2019/01/20(日) 22:56:21.45ID:hxPCkRns
ビルド檄遅。
ソースジェネレータ使った方がマシ。
ソースジェネレータ使った方がマシ。
2019/01/20(日) 23:39:00.56ID:8K8OajRY
100デフォルトの名無しさん
2019/01/20(日) 23:48:43.34ID:oi14Cno9 エラーメッセージからエラー原因が分からないのはテンプレート関連よりもそれ以外の要因のが多い
テンプレートの場合はエラーが大量に出てくるだけで、どこで起きてるかは割とわかる
テンプレートの場合はエラーが大量に出てくるだけで、どこで起きてるかは割とわかる
101デフォルトの名無しさん
2019/01/21(月) 00:17:38.90ID:d2jk7vmr テンプレートの問題じゃなくてコンパイラの問題だろ
102デフォルトの名無しさん
2019/01/21(月) 01:09:51.66ID:6CjQd7tm >>99
テンプレート使うときはテスト用のプロジェクト作ってネチネチ単体テスト書かんとダメだね。PODで具現化して肌で感覚つかんでおかないと本番コードでしくじるとハマる。コンパイル時間短縮のためにもテスト用のプロジェクトは必要。
declval, decletype, SFINAE, static_assertでコンセプト記述、必要に応じてtraits定義すれば、頭抱えるようなイミフエラーはほぼ撲滅できる。
無の心で手を動かさないといけないけど、これがテンプレの現状。
テンプレート使うときはテスト用のプロジェクト作ってネチネチ単体テスト書かんとダメだね。PODで具現化して肌で感覚つかんでおかないと本番コードでしくじるとハマる。コンパイル時間短縮のためにもテスト用のプロジェクトは必要。
declval, decletype, SFINAE, static_assertでコンセプト記述、必要に応じてtraits定義すれば、頭抱えるようなイミフエラーはほぼ撲滅できる。
無の心で手を動かさないといけないけど、これがテンプレの現状。
103デフォルトの名無しさん
2019/01/21(月) 01:51:32.70ID:c5b5w6pA 型の解決は実行時点でいろいろやってほしいわ
104デフォルトの名無しさん
2019/01/21(月) 06:17:25.15ID:NbFzEAOW >>103
それはC++の理念から外れるから違う言語を使うべきじゃね?
それはC++の理念から外れるから違う言語を使うべきじゃね?
105デフォルトの名無しさん
2019/01/21(月) 13:52:50.10ID:9a4kB+2V >>95に一票
ていうか最近のC++標準ライブラリはテンプレートで何でもやろうとしすぎだわ
メタプログラミングとか突き詰めていったら
例えばテンプレートに渡す型と定数値の違いをまとめて扱える
テンプレートテンプレートメタメタプログラミングとかサポートすんのかと
所詮は裏技やトリックの類だと再認識した方がいい
ていうか最近のC++標準ライブラリはテンプレートで何でもやろうとしすぎだわ
メタプログラミングとか突き詰めていったら
例えばテンプレートに渡す型と定数値の違いをまとめて扱える
テンプレートテンプレートメタメタプログラミングとかサポートすんのかと
所詮は裏技やトリックの類だと再認識した方がいい
106デフォルトの名無しさん
2019/01/21(月) 14:35:14.38ID:6CjQd7tm std委員会の人、自分で作った仕様をハックしてるもんな。それはどうかと思うわ。
テンプレに専用デバッガが必要、ってのは賛成。
テンプレに専用デバッガが必要、ってのは賛成。
107デフォルトの名無しさん
2019/01/21(月) 14:47:30.54ID:d2jk7vmr ステップ実行までとは言わないがコードがどのよう実体化したのかプレビューするツールとかないのかね
108デフォルトの名無しさん
2019/01/21(月) 17:03:26.68ID:QaxUTqW0 例えばどんな感じに表示して欲しい?
109デフォルトの名無しさん
2019/01/21(月) 17:44:06.66 コンパイルエラーの文字列を横取りしてヒューマンリーダブルに書き換えられるようにして
○○さんのエラー報告再解釈パッチが人気〜みたいにして
○○さんのエラー報告再解釈パッチが人気〜みたいにして
110デフォルトの名無しさん
2019/01/21(月) 19:44:31.28ID:awq8xDBs そんなくだらんことに時間使うくらいなら型付コードジェネレーターの標準でも定めた方が
なんぼか生産的だろうに。
なんでもコンパイラにブラックボックス処理させるのが根本的問題だわ。
なんぼか生産的だろうに。
なんでもコンパイラにブラックボックス処理させるのが根本的問題だわ。
111デフォルトの名無しさん
2019/01/21(月) 19:46:20.57ID:TwxiaWJQ そこでRubyですよ。
112デフォルトの名無しさん
2019/01/21(月) 20:32:09.87ID:5kYBxhZB ゴミはやだぁ
113デフォルトの名無しさん
2019/01/21(月) 21:57:35.19ID:awq8xDBs 結局makeもまともにかけないバカの意見を重視してるだけなんだよね。
114デフォルトの名無しさん
2019/01/21(月) 21:59:46.43ID:d2jk7vmr CMakeではいかんのか
115デフォルトの名無しさん
2019/01/21(月) 23:07:50.66ID:awq8xDBs そういうとこだよ。
ヘッダー依存を地道に解決させるだけで十分なところを無駄にデラックスな仕組みを入れようとする。
ヘッダー依存を地道に解決させるだけで十分なところを無駄にデラックスな仕組みを入れようとする。
116デフォルトの名無しさん
2019/01/22(火) 00:09:21.90ID:a1X2ytWX 地道にする意味あるか?
117デフォルトの名無しさん
2019/01/22(火) 01:09:39.72ID:6S+2YJAI 最近のC++の使用を考えてる人は、頭が悪いのかも知れんな。
特に、boostや、標準テンプレートライブラリを考えた人は
アホなんじゃないかと思う。設計がへたくそ。
特に、boostや、標準テンプレートライブラリを考えた人は
アホなんじゃないかと思う。設計がへたくそ。
118デフォルトの名無しさん
2019/01/22(火) 01:10:06.96ID:6S+2YJAI 使用--->仕様。
119デフォルトの名無しさん
2019/01/22(火) 01:14:06.94ID:9jnVrHe3 C++は抽象を実装しているのだ。
数学とかそっち系の人だべ。
数学とかそっち系の人だべ。
120デフォルトの名無しさん
2019/01/22(火) 02:13:13.69ID:a1X2ytWX 小綺麗にすることは目指していないので下手くそに見えるかも知れんな
121デフォルトの名無しさん
2019/01/22(火) 07:26:00.12ID:SqrOcoDp122デフォルトの名無しさん
2019/01/22(火) 07:46:01.37ID:yRak9Ndf 天才プログラマー現る
123デフォルトの名無しさん
2019/01/22(火) 08:00:25.37ID:a1X2ytWX エラーメッセージは言うほど分かりづらいかってのとそれコンパイラの問題じゃねっていう流れじゃなかったのか
そこで道具を改良するではなく人力で対応しようとするとか原始人か?
そこで道具を改良するではなく人力で対応しようとするとか原始人か?
124デフォルトの名無しさん
2019/01/22(火) 08:02:39.53ID:btZJwVmZ boostは下から上まであるけど、STLの設計が下手くそとはまあ・・・
125デフォルトの名無しさん
2019/01/22(火) 08:09:49.17ID:Hw20mf8u googleはtemplate禁止だっけ?
チーム開発ではなかなかレベル揃えるの大変だ
チーム開発ではなかなかレベル揃えるの大変だ
126デフォルトの名無しさん
2019/01/22(火) 08:47:48.92ID:rVf1VxF0 >>124
メジャーな物を否定する俺カッコイイみたいな奴じゃないかな
メジャーな物を否定する俺カッコイイみたいな奴じゃないかな
127デフォルトの名無しさん
2019/01/22(火) 09:27:28.56ID:a1X2ytWX128デフォルトの名無しさん
2019/01/22(火) 11:55:17.71ID:xs8/V/zK >>121
そりゃ一つずつちゃんと追っていけば原因はいつかわかるけど、
自分が書いたテンプレートならともかく他人が書いたもののエラー追うのは
他人が書いたメタプログラミングの意図を正確に把握する必要が出てくる(特にboostとか地獄)
コンセプトが導入されたらその辺はマシになるだろうけど
結局それはそれでテンプレート使うときにやらなきゃいけない作業が増えるというw
そりゃ一つずつちゃんと追っていけば原因はいつかわかるけど、
自分が書いたテンプレートならともかく他人が書いたもののエラー追うのは
他人が書いたメタプログラミングの意図を正確に把握する必要が出てくる(特にboostとか地獄)
コンセプトが導入されたらその辺はマシになるだろうけど
結局それはそれでテンプレート使うときにやらなきゃいけない作業が増えるというw
129デフォルトの名無しさん
2019/01/22(火) 12:34:08.56ID:MeB+96eJ >>125
Googleは例外禁止、templateなしはさすがに無理がある
Googleは例外禁止、templateなしはさすがに無理がある
130デフォルトの名無しさん
2019/01/22(火) 13:47:49.58ID:9jnVrHe3 細かいバグを拾うために out_of_range を投げる位はありだと思うが、「構造化された例外」の使い方が俺には判らん。
131デフォルトの名無しさん
2019/01/22(火) 14:50:43.43ID:Hw20mf8u 禁止はtry-catchか。
曖昧な状態を許すだけで、使いどころがよくわからんな。使えるひとすごい。
曖昧な状態を許すだけで、使いどころがよくわからんな。使えるひとすごい。
132デフォルトの名無しさん
2019/01/22(火) 19:10:41.32ID:SqrOcoDp >>128
だからやってることを刻めるようにしろって意見だよ。
テンプレートが担ってる役割は恐ろしく多い。
型のオーバーロード(推論)、マクロコードの展開、コンパイル。
これらを暗黙に一気にやってるからデバッグしずらいんだよ。
だからやってることを刻めるようにしろって意見だよ。
テンプレートが担ってる役割は恐ろしく多い。
型のオーバーロード(推論)、マクロコードの展開、コンパイル。
これらを暗黙に一気にやってるからデバッグしずらいんだよ。
133デフォルトの名無しさん
2019/01/22(火) 21:15:35.78ID:btZJwVmZ std::expectedはまだかいな・・・
134デフォルトの名無しさん
2019/01/22(火) 22:35:07.16ID:yVg1Ud1H クラスのprivate変数として vector<int> a を宣言したいとき、
vector<int> a(8, 0);
みたいに初期化できないのはなんでですか?
vector<int> a(8, 0);
みたいに初期化できないのはなんでですか?
135デフォルトの名無しさん
2019/01/22(火) 22:51:05.39ID:a1X2ytWX こうしろ
class hage {
public:
hage(): a(8,0) {}
private:
vector<int> a;
}
class hage {
public:
hage(): a(8,0) {}
private:
vector<int> a;
}
136デフォルトの名無しさん
2019/01/22(火) 22:53:48.16ID:btZJwVmZ137デフォルトの名無しさん
2019/01/22(火) 23:27:53.08ID:yVg1Ud1H138デフォルトの名無しさん
2019/01/22(火) 23:50:31.62ID:btZJwVmZ >>137
そう
そう
139デフォルトの名無しさん
2019/01/23(水) 01:15:58.41ID:OuY8oVZH140デフォルトの名無しさん
2019/01/23(水) 01:52:04.42ID:eok9TVn7 >>139
コンストラクタで初期化するのはダメなのか?
コンストラクタで初期化するのはダメなのか?
141デフォルトの名無しさん
2019/01/23(水) 02:10:57.88ID:OuY8oVZH142デフォルトの名無しさん
2019/01/23(水) 02:13:42.34ID:b+R6E+3S >>135 が答え書いてる。
143デフォルトの名無しさん
2019/01/23(水) 02:23:09.47ID:OuY8oVZH 済みません今やっと意味分かりました
ありがとうございました
ありがとうございました
144デフォルトの名無しさん
2019/01/23(水) 07:48:31.28ID:lyUDutjU >>139
それも同じようにすれば行けるはずだけど
それも同じようにすれば行けるはずだけど
145デフォルトの名無しさん
2019/01/24(木) 12:36:30.49ID:u9eVW+6J 前々から思ってたんだけどなんでprivateのを下に書くの
上の方がよくね?
上の方がよくね?
146デフォルトの名無しさん
2019/01/24(木) 15:35:52.58ID:IARMQrId 本来、privateは利用者にとっちゃ興味ない内容だから、C++では伝統的に下で書かれることが多いけど、java登場以来、上に書く人が増えたと思う。
上に書いたほうがクラスの規模感や役割が把握しやすいみたいなメリットはあるかもね
上に書いたほうがクラスの規模感や役割が把握しやすいみたいなメリットはあるかもね
147デフォルトの名無しさん
2019/01/24(木) 15:46:55.29ID:2OUib2sy C++は他の言語からすると書き方流派の縛りは緩いから(歴史長すぎてさまざまな流派が発生しては消えてるから)
自由に書いていい
ただ、C++ではメンバは上から初期化されるルールなので初期化順によって何らか問題が発生する場合のみ
どの位置に書くか注意すべきだがそんなケースは滅多にない
自由に書いていい
ただ、C++ではメンバは上から初期化されるルールなので初期化順によって何らか問題が発生する場合のみ
どの位置に書くか注意すべきだがそんなケースは滅多にない
148デフォルトの名無しさん
2019/01/24(木) 16:15:51.04ID:iPES0qac 上がいいよ。
でもそもそもprivateなんてだらだら書かんで実装に隠せよと。
でもそもそもprivateなんてだらだら書かんで実装に隠せよと。
149デフォルトの名無しさん
2019/01/24(木) 17:00:47.34ID:9qFVeQ4q 上からprivate変数、public関数、private関数の順かな。
インナークラスや型情報、static があるときはそれらが一番上。
インナークラスや型情報、static があるときはそれらが一番上。
150デフォルトの名無しさん
2019/01/24(木) 18:23:27.95ID:/05KE7l4 >>146
おいらは前から、privateを最初に書くのは、アメリカや英語文化の影響では
ないかと思っていた。
・英語では、First name, Last name の順。
・地名も、小さい場所から、大まかな場所へ書かれる。町名、市名、県名、国名
の順のように。
・アメリカでは、public 的なものより、private が優先されるイメージがある。
・変数名も、大まかな所属は後の方に書かれ、pszName, lenName, idxData の
ようになる。
でも、class を使う側の目線で見た時、private や protected のデータは、
何の意味も無いし、今後のバージョンアップで変化することもあるから、
上に書くのは無駄のように思える。
おいらは前から、privateを最初に書くのは、アメリカや英語文化の影響では
ないかと思っていた。
・英語では、First name, Last name の順。
・地名も、小さい場所から、大まかな場所へ書かれる。町名、市名、県名、国名
の順のように。
・アメリカでは、public 的なものより、private が優先されるイメージがある。
・変数名も、大まかな所属は後の方に書かれ、pszName, lenName, idxData の
ようになる。
でも、class を使う側の目線で見た時、private や protected のデータは、
何の意味も無いし、今後のバージョンアップで変化することもあるから、
上に書くのは無駄のように思える。
151はちみつ餃子 ◆8X2XSCHEME
2019/01/24(木) 18:49:58.73ID:+mTbExzf class だと private がデフォだから
private なメンバから書き始めるとちょっと省略できて楽って程度の
つまらない理由なんじゃないかと思ってる。
private なメンバから書き始めるとちょっと省略できて楽って程度の
つまらない理由なんじゃないかと思ってる。
152デフォルトの名無しさん
2019/01/24(木) 19:16:04.39ID:yn3EoOxl 同じ理由でstructにしてpublic省略してる
153デフォルトの名無しさん
2019/01/24(木) 19:26:04.87ID:ms7KdBo9 privateな変数は使う側に関係ないから下だな。
154デフォルトの名無しさん
2019/01/24(木) 20:38:16.78ID:DHqv5UTj 【移民】
留学生以外の、海外大学卒の外国人採用、過去最高に 4社に1社 エンジニアでは日本語能力を問わない企業も
https://asahi.5ch.net/test/read.cgi/newsplus/1548315122/
留学生以外の、海外大学卒の外国人採用、過去最高に 4社に1社 エンジニアでは日本語能力を問わない企業も
https://asahi.5ch.net/test/read.cgi/newsplus/1548315122/
155デフォルトの名無しさん
2019/01/24(木) 20:49:10.50ID:tLfj0brW windowsだとcondition_variableを使う理由ってなにがありますか?
平気でspurious wakeup問題があるなんていってるし、
Event使ったほうがいいと思うのですが?
平気でspurious wakeup問題があるなんていってるし、
Event使ったほうがいいと思うのですが?
156デフォルトの名無しさん
2019/01/24(木) 21:06:26.36ID:ux0AymZg 移植性が上がる
157デフォルトの名無しさん
2019/01/25(金) 00:36:17.92ID:ps5S8w5k 責任を持つデータを明示する。
保守担当者に「このデータ壊すな」というメッセージでもある。
メンバ関数はデータに対する操作なので、変数という名詞が必要。
なのでクラスの頭に書く主義。
保守担当者に「このデータ壊すな」というメッセージでもある。
メンバ関数はデータに対する操作なので、変数という名詞が必要。
なのでクラスの頭に書く主義。
158デフォルトの名無しさん
2019/01/25(金) 01:28:17.20ID:1j93aj/B privateに入れてる変数は壊しても構わないと考えてる。
publicやprotectedは上でもいいや
publicやprotectedは上でもいいや
159デフォルトの名無しさん
2019/01/25(金) 03:22:49.47ID:GAV2PKJV 壊してもいいのはprivate
publicは原則として壊してはいけない
publicは原則として壊してはいけない
160デフォルトの名無しさん
2019/01/25(金) 06:47:27.24ID:x34OdHkB 本当はprivateのメンバなんてヘッダに書きたくないんだよな
使う側にとってはどうでもいいことなんだし
まあデータメンバーはsizeof確定させるためにヘッダに書かざるを得ないんだけど
privateメンバ関数はcppに隠す手段が欲しい
使う側にとってはどうでもいいことなんだし
まあデータメンバーはsizeof確定させるためにヘッダに書かざるを得ないんだけど
privateメンバ関数はcppに隠す手段が欲しい
161デフォルトの名無しさん
2019/01/25(金) 06:52:07.07ID:9AQeTihm そこでインクルードですよ
162デフォルトの名無しさん
2019/01/25(金) 07:13:33.15ID:ps5S8w5k >>160
Pimpl がそれじゃなかった?
Pimpl がそれじゃなかった?
163デフォルトの名無しさん
2019/01/25(金) 07:28:33.12ID:x34OdHkB できるけどポインタ経由になるしめんどくさいし
164デフォルトの名無しさん
2019/01/25(金) 07:39:18.36ID:3fp3RkdD どうでもいい実装は別に無名のnamespaceに入れてもいいわけだしね。
なんか全部privateに書けって開発チームもいるけど。
なんか全部privateに書けって開発チームもいるけど。
165デフォルトの名無しさん
2019/01/25(金) 07:46:20.34ID:GAV2PKJV テンプレートのときどうすんの
166デフォルトの名無しさん
2019/01/25(金) 09:33:40.77ID:081QfTJ8 templateクラスみたいなのは、独立したヘッダに素直に書くのが良いんだと思う
167デフォルトの名無しさん
2019/01/25(金) 12:11:07.30ID:58XK3b4v Windows で動いて、かつ、llc.exe --version で Registered Targets に、
WASM32
と表示が出るタイプの(-march=WASM32 と指定出来るタイプの)
llc.exe のバイナリって、どこかで DL できない?
ソースからビルドするのは、当方は VS 15 以上を持ってないので無理。
cygwin からだとビルド出来るらしいけど、出来たバイナリが cygwin なしで起動
できないかもしれないのが問題。
WASM32
と表示が出るタイプの(-march=WASM32 と指定出来るタイプの)
llc.exe のバイナリって、どこかで DL できない?
ソースからビルドするのは、当方は VS 15 以上を持ってないので無理。
cygwin からだとビルド出来るらしいけど、出来たバイナリが cygwin なしで起動
できないかもしれないのが問題。
168デフォルトの名無しさん
2019/01/25(金) 12:50:28.30ID:58XK3b4v https://stackoverflow.com/questions/51310020/is-there-a-pre-built-clang-library-for-windows
↑を見つけたのでDL中。289MB だけど、残り3時間と表示されるうちの環境。
https://github.com/ziglang/zig/wiki/Building-Zig-on-Windows
ひきこもりのLより。
↑を見つけたのでDL中。289MB だけど、残り3時間と表示されるうちの環境。
https://github.com/ziglang/zig/wiki/Building-Zig-on-Windows
ひきこもりのLより。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★4 [七波羅探題★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 [蚤の市★]
- 【広島】「万引きした人を追跡」コンビニ店員の男性(46)を果物ナイフで刺したか 中国籍の少年(17)を殺人未遂容疑で現行犯逮捕 [ぐれ★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- 【サッカー】58歳カズ「オファーが来ている」 J3福島と近日中にも交渉 早ければ年内にも決断 [征夷大将軍★]
- 【速報】気象庁は津波注意報すべて解除 [蚤の市★]
- 【実況】博衣こよりのえちえち朝こよ🧪
- さかまた「過呼吸になった」かなた「耳聞こえない」ござる「声出ない」まつり「ご飯食べれない」
- 【画像】カリカリ女、脱いだらすごい😨 [632966346]
- 俺のおちんちん舐めたい女の子いる?
- くそしてかがやけ
- 早大名誉教授「高市内閣の高支持率はデータ操作か、支持している日本人がアホなのか」👈核心を突いてしまう [868050967]
