次スレを立てる時は本文の1行目に以下を追加して下さい
!extend:on:vvvvv:1000:512
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part131
http://mevius.2ch.net/test/read.cgi/tech/1501295308/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.101【環境依存OK】
http://mevius.2ch.net/test/read.cgi/tech/1500329247/
■長いソースを貼るときはここへ。■
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++相談室 part132
レス数が950を超えています。1000を超えると書き込みができなくなります。
1デフォルトの名無しさん 転載ダメ (ワッチョイ faeb-wbjw)
2017/10/10(火) 00:11:34.01ID:nc/5PI4P0 >>894
>その割にアレなのでひょっとして共通トリップだったりするの?
単に、あれよあれよと、また、次から次へと忘れていくので、ぜんぜん進歩しないだけなのでした。
こんな感じ… https://www.youtube.com/watch?v=Hflpt1-kAl4
>その割にアレなのでひょっとして共通トリップだったりするの?
単に、あれよあれよと、また、次から次へと忘れていくので、ぜんぜん進歩しないだけなのでした。
こんな感じ… https://www.youtube.com/watch?v=Hflpt1-kAl4
896デフォルトの名無しさん (ワッチョイ 228d-zvir)
2017/11/20(月) 07:05:19.03ID:8Dez9ldp0 手元に古いGoF日本語訳(1999年初版)があったので覗いてみたら、
Iteratorのサンプル(C++)が>>880みたいに抽象クラスで実装されていてびっくりした。
抽象クラスを使わなくても、処理の共通化を考えないなら問題ないし、
共通化したい場合でも、そこだけテンプレート化すればよいような気がする。
https://ideone.com/sFzBq4
Iteratorのサンプル(C++)が>>880みたいに抽象クラスで実装されていてびっくりした。
抽象クラスを使わなくても、処理の共通化を考えないなら問題ないし、
共通化したい場合でも、そこだけテンプレート化すればよいような気がする。
https://ideone.com/sFzBq4
897デフォルトの名無しさん (ワッチョイ 4178-kX9V)
2017/11/20(月) 08:00:57.16ID:GfOPAtNP0 VC++とか今でこそまともだけど昔はテンプレート周りがうんこすぎて風呂釜洗剤教の人のやり方に頼らざるを得なかったらしいね
898デフォルトの名無しさん (ワッチョイ 826e-Eq1o)
2017/11/20(月) 09:24:05.14ID:9q5rB25R0 そういう「まとも」を求めてVCを選ぶのは情弱のすることだ
意味の違う「まとも」で定評のあるコンパイラであって
意味の違う「まとも」で定評のあるコンパイラであって
899デフォルトの名無しさん (ワッチョイ f9b3-AWKa)
2017/11/20(月) 09:46:04.69ID:Veq8ZMOx0 Vistaまではgccでコンパイルしてたらしいからな。
900デフォルトの名無しさん (アウーイモ MM05-0x9U)
2017/11/20(月) 10:17:12.94ID:5dn4op1oM 初心者なんですがusing使い方を教えて下せえ
901デフォルトの名無しさん (ワッチョイ 0234-1gB9)
2017/11/20(月) 10:36:08.17ID:Fx3rJ6pW0 usingは時代によって使える機能が異なる
昔はnamespaceから使える宣言を取り出す役割
最近は=を用いてtypedefの簡略化っぽい書き方が出来る
昔はnamespaceから使える宣言を取り出す役割
最近は=を用いてtypedefの簡略化っぽい書き方が出来る
902デフォルトの名無しさん (ワッチョイ 0234-1gB9)
2017/11/20(月) 10:42:51.51ID:Fx3rJ6pW0 将来的にはusingがプロパティの役割まで担ってくれると余計な予約後増やさなくて済む希ガス
903デフォルトの名無しさん (ワンミングク MM52-Dzd0)
2017/11/20(月) 12:17:25.71ID:OatlO4rKM904デフォルトの名無しさん (ワッチョイ ae6e-Eq1o)
2017/11/20(月) 14:57:25.95ID:ZHV8ZCmh0 ratioのバグとかinitializer_listとかね
しっかりしているようで時おり大ボケで笑いを取る謎な会社だ
しっかりしているようで時おり大ボケで笑いを取る謎な会社だ
905デフォルトの名無しさん (ササクッテロラ Spd1-CMbJ)
2017/11/20(月) 16:59:42.71ID:CB3KD7K4p906デフォルトの名無しさん (ワッチョイ ae6e-Eq1o)
2017/11/20(月) 17:06:25.94ID:ZHV8ZCmh0 重箱の隅じゃあんめえ
仮想デストラクタがないことと継承禁止は近いが違う
仮想デストラクタがないことと継承禁止は近いが違う
907はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 466f-RuWE)
2017/11/20(月) 17:20:13.60ID:mEO8F9pQ0 std::vector とかを public 継承してもスライシングが起こらないように使う分には全然問題ないわけだしな。
でも人間はアホだからスライシングするし、スライシングしたときにコンパイルエラーにしてくれないから避けようっていう「習慣」なだけで、
言語機能としてはデストラクタが仮想になってないからといって継承が禁止されているってわけではないんだ。
そこらへんは確かに意味づけが違う。
でも人間はアホだからスライシングするし、スライシングしたときにコンパイルエラーにしてくれないから避けようっていう「習慣」なだけで、
言語機能としてはデストラクタが仮想になってないからといって継承が禁止されているってわけではないんだ。
そこらへんは確かに意味づけが違う。
908デフォルトの名無しさん (ワッチョイ 02cf-Gm5t)
2017/11/20(月) 17:54:47.05ID:4sV97R+K0 デザパタは基本的にGC言語向きだしな
C++とは相性が良くない
C++とは相性が良くない
909デフォルトの名無しさん (スプッッ Sd41-LOf1)
2017/11/20(月) 19:05:49.28ID:RcaXyFV8d C++の基本的なコーディングを学ぶのにオススメな書籍あるかな?
テクニック集とかもあると読んでみたいと思っている
テクニック集とかもあると読んでみたいと思っている
910デフォルトの名無しさん (ワッチョイ a17f-8CrJ)
2017/11/20(月) 19:11:23.76ID:q0WTO8Pn0 EffectiveC++シリーズ
Exceptional C++
C++ Coding Standards
あたりの定番中の定番でいいだろ
Exceptional C++
C++ Coding Standards
あたりの定番中の定番でいいだろ
911デフォルトの名無しさん (ワッチョイ 41eb-RjUU)
2017/11/20(月) 20:12:37.95ID:rJCmscgl0 ここって本職でやってる人らばっかりなんかね
日曜プログラマが気安く書き込んでもいいのだろうか
日曜プログラマが気安く書き込んでもいいのだろうか
912はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 466f-RuWE)
2017/11/20(月) 20:21:38.03ID:mEO8F9pQ0 >>911
いいよ。 俺も趣味プログラマだけど偉そうに書き込んでるし。
いいよ。 俺も趣味プログラマだけど偉そうに書き込んでるし。
913デフォルトの名無しさん (ワッチョイ 02bd-VFQ0)
2017/11/20(月) 21:53:59.25ID:gqHMI2DN0 GoF本のうち
Stateパターンは抽象クラス必須
Abstractなんちゃら系も抽象クラス必須
な印象
Stateパターンは抽象クラス必須
Abstractなんちゃら系も抽象クラス必須
な印象
914デフォルトの名無しさん (ワッチョイ 02e7-GXP8)
2017/11/20(月) 22:05:37.00ID:vFwnmuVP0 >>911
プロがここでうんちく垂れてたら引くわな
プロがここでうんちく垂れてたら引くわな
915デフォルトの名無しさん (ワッチョイ a19f-RjUU)
2017/11/20(月) 22:07:59.95ID:H8zFncfx0 >>873
最新版で該当ケースを探せず、
わざわざ5年前の版を持ち出してきてまで俺ツエーしたいヘタレを相手にしてしまい、すいませんでしたー
gcc4.4.7(2012/3/13)の時点で対応できて無いという情報はものすごく役に立ちますー(棒)
つかマジで、賢いつもりなら最新版で該当ケース探してgccに報告しろよ。
問題に遭遇したらとりあえず最新版、というのは基本だ。
ここを問題視する奴がgcc4.4.7なんて今使ってるわけないだろ。お前は馬鹿なのか?
お前のその努力は誰の為にも役に立ってないだろ。
これは多分に政治的問題で、コンパイラ屋がごねているだけだ。
既に言ったとおり、
reinterpret_cast相当のことがなされている場合、その関数単位で -fno-strict-aliasing すればいいだけで、
これに関して技術/仕様的問題は何もない。
ただ、「ソースさえ正しければこんな問題は発生しない」とか言って、コンパイラ屋がごねてるんだよ。
だから、力関係が逆転すればいきなり全部直ってもおかしくない。
gcc7.2.0がどっちのアプローチ、
つまり、上記の通りばっさり最適化を切ってしまい、最適化ケースを積み上げる方向にしたのか、
或いは従来どおり、過度の最適化を検出し、最適化を防ぐケースを積み上げることにしたのかは、俺は知らない。
ただ、どちらのケースであっても、最新版で上手く行かないケースがあれば、それはgccにとっては有用な情報なんだよ。
それをわざわざ旧版で、しかも隠してしれっととか、意味無いしせこいわw
最新版で出現しないから焦ったか?小物感ありあり。
> まぁそんなことは無いんだけどさ。
とか言うから、お?釣りか?ならここは全力で釣られてやるさ、該当事例持って来いよ!って流れなのに、
事前に該当事例用意しておかずに釣りとかアホかテメーは。
君が最新版で完全にアウトなケースを用意してれば、ああこれは完全に俺の負けですサーセン、とお後がよろしかったのに、
gcc4.4.7であることにも触れず俺ツエーするとか、小物過ぎて泣ける。
お前もうちょっとスレの流れを考えろよ。
最新版で該当ケースを探せず、
わざわざ5年前の版を持ち出してきてまで俺ツエーしたいヘタレを相手にしてしまい、すいませんでしたー
gcc4.4.7(2012/3/13)の時点で対応できて無いという情報はものすごく役に立ちますー(棒)
つかマジで、賢いつもりなら最新版で該当ケース探してgccに報告しろよ。
問題に遭遇したらとりあえず最新版、というのは基本だ。
ここを問題視する奴がgcc4.4.7なんて今使ってるわけないだろ。お前は馬鹿なのか?
お前のその努力は誰の為にも役に立ってないだろ。
これは多分に政治的問題で、コンパイラ屋がごねているだけだ。
既に言ったとおり、
reinterpret_cast相当のことがなされている場合、その関数単位で -fno-strict-aliasing すればいいだけで、
これに関して技術/仕様的問題は何もない。
ただ、「ソースさえ正しければこんな問題は発生しない」とか言って、コンパイラ屋がごねてるんだよ。
だから、力関係が逆転すればいきなり全部直ってもおかしくない。
gcc7.2.0がどっちのアプローチ、
つまり、上記の通りばっさり最適化を切ってしまい、最適化ケースを積み上げる方向にしたのか、
或いは従来どおり、過度の最適化を検出し、最適化を防ぐケースを積み上げることにしたのかは、俺は知らない。
ただ、どちらのケースであっても、最新版で上手く行かないケースがあれば、それはgccにとっては有用な情報なんだよ。
それをわざわざ旧版で、しかも隠してしれっととか、意味無いしせこいわw
最新版で出現しないから焦ったか?小物感ありあり。
> まぁそんなことは無いんだけどさ。
とか言うから、お?釣りか?ならここは全力で釣られてやるさ、該当事例持って来いよ!って流れなのに、
事前に該当事例用意しておかずに釣りとかアホかテメーは。
君が最新版で完全にアウトなケースを用意してれば、ああこれは完全に俺の負けですサーセン、とお後がよろしかったのに、
gcc4.4.7であることにも触れず俺ツエーするとか、小物過ぎて泣ける。
お前もうちょっとスレの流れを考えろよ。
916デフォルトの名無しさん (ブーイモ MMcd-pLBf)
2017/11/20(月) 22:13:38.04ID:cvRta7BJM >>908
GoF本はc++とsmalltalkだったろ
GoF本はc++とsmalltalkだったろ
917デフォルトの名無しさん (ワッチョイ 02bd-VFQ0)
2017/11/20(月) 22:48:11.84ID:gqHMI2DN0 テンキー風のボタンの並びでモードによって意味が変わる(Num Lock ON/OFFのもっと複雑化したようなやつ
というユザーインターフェースの実装はStateパターンのどくだんば
そこまでレトロなのでなくてもGUIでお絵かきツールを集めたツールボックスなUIとか作ると
Abstructなんちゃらパターンのどれかを再発明しているケースが多いと思う
というユザーインターフェースの実装はStateパターンのどくだんば
そこまでレトロなのでなくてもGUIでお絵かきツールを集めたツールボックスなUIとか作ると
Abstructなんちゃらパターンのどれかを再発明しているケースが多いと思う
918デフォルトの名無しさん (ワッチョイ 02e7-GXP8)
2017/11/20(月) 23:04:17.12ID:vFwnmuVP0 ←なぜか変換できない
919デフォルトの名無しさん (ワッチョイ 466f-MUuo)
2017/11/20(月) 23:35:39.24ID:mEO8F9pQ0 独擅場 ← どくせんじょう
920はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 466f-RuWE)
2017/11/21(火) 00:48:45.97ID:KkY90WH60 >>913
昨日 >>885 でまわりくどいメタプログラミングと言ってたのがそれだ。
State パターンのように特定のメンバ関数を持っていることを強制したいときには
それを判定するトレイツを作って対応する。
たとえば >>886 にあるコードを対象に考えて、
「あるクラスがそのクラス自身のポインタを返す next という名前のメンバ関数を持っているか」
を判定するトレイツはこうなる。
template<class T>
class has_next {
template<class U, class V = T>
struct helper : std::false_type {};
template<class U>
struct helper<U, typename std::enable_if<std::is_same<decltype(std::declval<U>().next()), U*>::value, T>::type> : std::true_type {};
public:
static const bool value = helper<T>::value;
};
C++ 標準の type_traits を真似してるので使い方もだいたい同じ。
static_assert(!has_next<TShelfIterator<Book>>::value, "TShelfIterator must has next() method.");
みたいに書いておけば TShelfIterator<Book> がメンバ関数 next を持っていることが保証される。
持っていなければコンパイル時にエラーになるから。
ここではひとつのメンバ関数を判定するだけのものを作ったけど、 Boost にはもっと汎用的にいい感じにかけるやつが有った気がする。
知らんけど。
昨日 >>885 でまわりくどいメタプログラミングと言ってたのがそれだ。
State パターンのように特定のメンバ関数を持っていることを強制したいときには
それを判定するトレイツを作って対応する。
たとえば >>886 にあるコードを対象に考えて、
「あるクラスがそのクラス自身のポインタを返す next という名前のメンバ関数を持っているか」
を判定するトレイツはこうなる。
template<class T>
class has_next {
template<class U, class V = T>
struct helper : std::false_type {};
template<class U>
struct helper<U, typename std::enable_if<std::is_same<decltype(std::declval<U>().next()), U*>::value, T>::type> : std::true_type {};
public:
static const bool value = helper<T>::value;
};
C++ 標準の type_traits を真似してるので使い方もだいたい同じ。
static_assert(!has_next<TShelfIterator<Book>>::value, "TShelfIterator must has next() method.");
みたいに書いておけば TShelfIterator<Book> がメンバ関数 next を持っていることが保証される。
持っていなければコンパイル時にエラーになるから。
ここではひとつのメンバ関数を判定するだけのものを作ったけど、 Boost にはもっと汎用的にいい感じにかけるやつが有った気がする。
知らんけど。
921デフォルトの名無しさん (ワッチョイ 6e81-LokX)
2017/11/21(火) 01:13:43.73ID:H+r6aFWv0 そんなくそレガシーなtraits
久々に見た…
久々に見た…
922デフォルトの名無しさん (スップ Sd82-LOf1)
2017/11/21(火) 17:31:41.16ID:6BA+Ife8d あるファイルに下のような文字が書き込まれていて
xxxx=3
これの3を取得する完璧無欠なロジックなにかないかな
xxxx=3
これの3を取得する完璧無欠なロジックなにかないかな
923デフォルトの名無しさん (ワッチョイ 4178-kX9V)
2017/11/21(火) 17:32:59.03ID:uRVBPn0b0 完璧無欠とは?
924デフォルトの名無しさん (スップ Sd82-LOf1)
2017/11/21(火) 17:36:16.46ID:6BA+Ife8d925デフォルトの名無しさん (アウアウカー Sa49-vUM9)
2017/11/21(火) 18:10:16.89ID:B2ib4/wIa 正規表現でよくない?
926デフォルトの名無しさん (ワッチョイ a104-0wpo)
2017/11/21(火) 19:05:58.85ID:DIhAB+/L0 リバースイテレータをfindしてイコールでセパレート。
って、数行から見つけるのか。
構文解析とかか?
って、数行から見つけるのか。
構文解析とかか?
927デフォルトの名無しさん (スップ Sd82-LOf1)
2017/11/21(火) 19:38:49.19ID:6BA+Ife8d928デフォルトの名無しさん (ワッチョイ a168-+5lI)
2017/11/21(火) 19:53:50.67ID:GhiisSyt0 (?<=^xxx=)\d+$
929デフォルトの名無しさん (ワッチョイ 41eb-RjUU)
2017/11/21(火) 20:30:32.65ID:0pu32Yjt0 float演算がdoubleよりも遅いってアジですか?
>>929
何が計算するかによる、としか
何が計算するかによる、としか
931デフォルトの名無しさん (ワッチョイ 41eb-RjUU)
2017/11/21(火) 21:12:53.35ID:0pu32Yjt0 さいですか
932デフォルトの名無しさん (オッペケ Srd1-0Zlk)
2017/11/21(火) 21:19:38.81ID:muR8Mwv6r933デフォルトの名無しさん (スップ Sd82-LOf1)
2017/11/21(火) 21:44:16.41ID:6BA+Ife8d934デフォルトの名無しさん (ワッチョイ a980-61Vg)
2017/11/21(火) 21:55:27.92ID:6jcLJvUW0 >>927
そういう設定ファイル的なものを読むならkeyとvalueのペアのリストつまりmapを返す実装を考えた方がいい
そういう設定ファイル的なものを読むならkeyとvalueのペアのリストつまりmapを返す実装を考えた方がいい
935デフォルトの名無しさん (スップ Sd82-LOf1)
2017/11/21(火) 22:16:59.77ID:6BA+Ife8d936はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 466f-RuWE)
2017/11/21(火) 22:33:26.16ID:KkY90WH60937デフォルトの名無しさん (ワッチョイ 4178-kX9V)
2017/11/21(火) 22:42:43.82ID:uRVBPn0b0 ってかboostのPropertyTreeにiniパーサーがあるからそれ使うといいよ
938デフォルトの名無しさん (スップ Sd82-LOf1)
2017/11/21(火) 22:42:58.28ID:6BA+Ife8d >>936
回答すると
数値以外もありうる
改行は値として入れない
エスケープってなんだろう?
xxxに関しては最大16文字の文字列(大文字小文字計52文字の組み合わせ)
たったこれだけでも深いね
ソフトウェアって神秘
回答すると
数値以外もありうる
改行は値として入れない
エスケープってなんだろう?
xxxに関しては最大16文字の文字列(大文字小文字計52文字の組み合わせ)
たったこれだけでも深いね
ソフトウェアって神秘
939デフォルトの名無しさん (ワッチョイ a168-+5lI)
2017/11/21(火) 23:00:05.88ID:GhiisSyt0 ini-parserてのがなかなか良さそう
picojson,rapidxmlなどが好きな人にはいいかも
picojson,rapidxmlなどが好きな人にはいいかも
940デフォルトの名無しさん (ワッチョイ 869f-GXP8)
2017/11/22(水) 02:34:39.84ID:9vladmL60 構文解析したいならbisonでも使ったらいいんじゃね?
941デフォルトの名無しさん (ワッチョイ f9b3-AWKa)
2017/11/22(水) 03:34:34.44ID:ft6g9THr0 ム板で公開されたのがあったじゃないか。
942デフォルトの名無しさん (ワッチョイ 41b3-RjUU)
2017/11/22(水) 10:29:13.01ID:wHcXBwMz0943デフォルトの名無しさん (ワッチョイ a980-61Vg)
2017/11/22(水) 10:59:36.64ID:jvBgNmmT0 >>942
どこの最近?
どこの最近?
944デフォルトの名無しさん (ワッチョイ c58a-iF25)
2017/11/22(水) 11:55:13.96ID:/unloUf+0 XMLは配列が直接表現できないし手で書くのがクソめんどくさいし見づらい
その点JSONの方がずっとマシなんだけど標準JSONだとコメント書けない
その点JSONの方がずっとマシなんだけど標準JSONだとコメント書けない
945デフォルトの名無しさん (ワッチョイ 42b3-VAF2)
2017/11/22(水) 12:48:47.95ID:PiUoYWXr0 適材適所、の一言で片付く問題
好きな方使え
好きな方使え
946デフォルトの名無しさん (ワンミングク MM52-61Vg)
2017/11/22(水) 13:52:54.31ID:gFgFfMOWM 人が書く設定ファイルならtomlがパースのしやすさと書きやすさでバランスが良いと思う
947デフォルトの名無しさん (ワッチョイ a168-+5lI)
2017/11/22(水) 16:17:23.80ID:HDCbnteD0948はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 466f-RuWE)
2017/11/22(水) 20:12:53.57ID:Rn9KsJdK0 Cargo の設定ファイルも TOML やぞ。 モダーンな言語のモダーンなツールは TOML がトレンド。 これ。
YAML みたいにインデントで構造を表現するのってパースめんどくさい。
個人的に YAML は不格好に見えて好きじゃないっていう主観もあるんだけど、
YAML ってそんなに定番ってほど目にしたことが無いな〜と思って考えたら
たぶん俺の巣は Scheme スレやからやな。
Lisp 界隈では設定ファイルにはS式を使ってまうもんな。
YAML みたいにインデントで構造を表現するのってパースめんどくさい。
個人的に YAML は不格好に見えて好きじゃないっていう主観もあるんだけど、
YAML ってそんなに定番ってほど目にしたことが無いな〜と思って考えたら
たぶん俺の巣は Scheme スレやからやな。
Lisp 界隈では設定ファイルにはS式を使ってまうもんな。
949デフォルトの名無しさん (ワッチョイ a168-+5lI)
2017/11/22(水) 21:00:11.47ID:h+KIZtFy0 luaなんかもよく使われるけど、schemeやluaが設定ファイルとして使われるのは
呼び出し側の言語が同じであるか、他の用途で使うためにすでに組み込んでる場合がほどんどで
設定ファイルだけの為にLL組み込むにはお手軽とは言えないかな
TOMLはいいとは思うんだけど
自分が使うなら仕様が固まってからの1.0〜は必須で
↓で300程度は使われてからかな
$ apt-file search toml | grep "\.toml$" | wc -l
0
$ apt-file search json | grep "\.json$" | wc -l
3611
$ apt-file search yaml | grep "\.yaml$" | wc -l
1480
呼び出し側の言語が同じであるか、他の用途で使うためにすでに組み込んでる場合がほどんどで
設定ファイルだけの為にLL組み込むにはお手軽とは言えないかな
TOMLはいいとは思うんだけど
自分が使うなら仕様が固まってからの1.0〜は必須で
↓で300程度は使われてからかな
$ apt-file search toml | grep "\.toml$" | wc -l
0
$ apt-file search json | grep "\.json$" | wc -l
3611
$ apt-file search yaml | grep "\.yaml$" | wc -l
1480
950デフォルトの名無しさん (ドコグロ MM41-ZIVp)
2017/11/22(水) 21:10:35.27ID:W0SJQGiTM 最近この手の話題に疎いからtomlとか知らんかったのでちょっとググったけどまあ好きなの使えや
って感想しかないわ
https://gist.github.com/miyakogi/e8631ce5f7c956db2313
って感想しかないわ
https://gist.github.com/miyakogi/e8631ce5f7c956db2313
951はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 466f-RuWE)
2017/11/22(水) 21:16:10.07ID:Rn9KsJdK0 パースの楽さだけで言えば JSON が優勝だけど人が手書きするには色々アレだからな。
952デフォルトの名無しさん (ワッチョイ 41eb-RjUU)
2017/11/22(水) 21:20:22.39ID:3/I2dLA90 好きなの使えっつっても全部導入して試すの面倒や
953デフォルトの名無しさん (ワッチョイ 6ea5-RjUU)
2017/11/22(水) 21:56:28.30ID:+hB2MqUt0 ES5以降ケツコンマOKになったんだからJSONも新規格にすりゃいいのに。
954デフォルトの名無しさん (ワッチョイ 02bd-VFQ0)
2017/11/22(水) 23:47:16.65ID:AAzHTorM0 >>936
正規表現で済んでいるのになんでスタックが要るんじゃ!!!!!!11!1!!!!
正規表現で済んでいるのになんでスタックが要るんじゃ!!!!!!11!1!!!!
956デフォルトの名無しさん (ワッチョイ 5fbd-hcjg)
2017/11/23(木) 00:36:02.97ID:h8NdPAUM0 文脈自由文法は解析にスタック(理論上は無限の段数のやつ)が要るクラスだが
正規言語は有限状態マシンで済む言語のクラス
今話題の設定言語は無限の入れ子は持たなそうなので正規言語で逝ける、
正規言語は有限状態マシンで済む言語のクラス
今話題の設定言語は無限の入れ子は持たなそうなので正規言語で逝ける、
957デフォルトの名無しさん (ワッチョイ 5fbd-hcjg)
2017/11/23(木) 00:37:37.76ID:h8NdPAUM0 と、
言いたいのでわ…
言いたいのでわ…
958はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bf6f-KsIq)
2017/11/23(木) 01:07:08.12ID:fj1LdTry0 ん〜、そのへんの学問的な分類はよう知らんけど、取りうる状態は有限でもバックトラックは起こるしそのためのスタックは要るんちゃう?
同じ文法の構文解析器を作ればどっちのアプローチでもスタックの消費量はかわらんと思うんだけど。
より制限の強い方で「十分」っつーならそれはわかる。 C++ 標準に入ってる機能で出来りゃ楽だしな。
ただ、正規表現ライブラリだとエラーの検出場所の伝達方法とかで融通が利かなかったりするので、
ユーザーが入力する設定ファイルを解析するパーサを作るとなると作りこみ難いという感触があるかな。
同じ文法の構文解析器を作ればどっちのアプローチでもスタックの消費量はかわらんと思うんだけど。
より制限の強い方で「十分」っつーならそれはわかる。 C++ 標準に入ってる機能で出来りゃ楽だしな。
ただ、正規表現ライブラリだとエラーの検出場所の伝達方法とかで融通が利かなかったりするので、
ユーザーが入力する設定ファイルを解析するパーサを作るとなると作りこみ難いという感触があるかな。
959デフォルトの名無しさん (ワッチョイ 7f56-PrD/)
2017/11/23(木) 06:39:00.31ID:NFzuGiE50 「チョムスキー階層」でググれ
960デフォルトの名無しさん (ワッチョイ 7f56-PrD/)
2017/11/23(木) 07:23:17.08ID:NFzuGiE50 >>958
>ん〜、そのへんの学問的な分類はよう知らんけど、取りうる状態は有限でもバックトラックは起こるしそのためのスタックは要るんちゃう?
非決定性有限オートマトンは決定性有限オートマトンに変換できるので、
バックトラックが一切起こらない形に書き換えることは可能。
lexなんかだと、そのような変換を行ったコードを生成していたはず。
ただし、プログラム言語などで一般的に使われる正規表現は、
ここでいう正規言語を拡張したものなので、この限りではない。
>ん〜、そのへんの学問的な分類はよう知らんけど、取りうる状態は有限でもバックトラックは起こるしそのためのスタックは要るんちゃう?
非決定性有限オートマトンは決定性有限オートマトンに変換できるので、
バックトラックが一切起こらない形に書き換えることは可能。
lexなんかだと、そのような変換を行ったコードを生成していたはず。
ただし、プログラム言語などで一般的に使われる正規表現は、
ここでいう正規言語を拡張したものなので、この限りではない。
961デフォルトの名無しさん (アークセー Sxfb-DkU3)
2017/11/23(木) 14:40:51.51ID:QeiOUUJtx C++のプロジェクトに戻りたい。
962デフォルトの名無しさん (ワッチョイ 5fb3-9Jqp)
2017/11/23(木) 18:06:46.17ID:5yPMgLrz0 どうぞどうぞ
963デフォルトの名無しさん (ワッチョイ 5fbd-hcjg)
2017/11/23(木) 18:56:01.32ID:h8NdPAUM0 もう次スレ要らないのでは
またまた低レベルな質問で恐縮しております。よろしくお願いいたします。
https://ideone.com/MXvhkC
ここまで実装できている状態で、演算子 += を定義するには、どのように書けばいいでしょうか?
なお実際に作業している対象は自作の多桁長演算ライブラリで、operator+=() を operator=() や operator+() を再利用できればうれしいな、と考えております。
operator+() や operator=() に書いていることを、繰り返して書くのは避けたいと考えているのです。
https://ideone.com/MXvhkC
ここまで実装できている状態で、演算子 += を定義するには、どのように書けばいいでしょうか?
なお実際に作業している対象は自作の多桁長演算ライブラリで、operator+=() を operator=() や operator+() を再利用できればうれしいな、と考えております。
operator+() や operator=() に書いていることを、繰り返して書くのは避けたいと考えているのです。
965デフォルトの名無しさん (ワッチョイ bfe7-5mWG)
2017/11/23(木) 19:07:30.71ID:IGgCkWwq0 普通はoperator+=()を実装してから、それを使ってoperator+を実装する
>>965
なるほど
https://ideone.com/t89oo1
しかし、+=, -= ならまだしも、 *=, /=, %= を考えると、なんだか似たようなコードを二箇所に書きそうな雰囲気がします…
なるほど
https://ideone.com/t89oo1
しかし、+=, -= ならまだしも、 *=, /=, %= を考えると、なんだか似たようなコードを二箇所に書きそうな雰囲気がします…
967デフォルトの名無しさん (ワッチョイ bfe7-5mWG)
2017/11/23(木) 19:54:00.12ID:IGgCkWwq0 だからboostにこんなのがあったりする
https://boostjp.github.io/tips/operators.html
https://boostjp.github.io/tips/operators.html
968デフォルトの名無しさん (ワッチョイ 7feb-aYIp)
2017/11/23(木) 19:56:33.11ID:5nCr5Wf60 CRTP使って自動実装
969はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bf6f-KsIq)
2017/11/23(木) 20:01:00.33ID:fj1LdTry0 >>964
なんで friend がついてんの?
なんで friend がついてんの?
970デフォルトの名無しさん (ワッチョイ 47b3-ThNz)
2017/11/23(木) 20:17:56.76ID:j5z8beti0 >>967
これってなんでprivate継承なのか分からない
これってなんでprivate継承なのか分からない
971はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bf6f-KsIq)
2017/11/23(木) 20:23:32.48ID:fj1LdTry0 >>970
スライシングを起こさないようにじゃないの。
デストラクタを virtual にすると要らん仮想関数テーブルが作られちゃうからな。
それでいて定義する関数は friend 関数にしてるから外側からでも見えるんだな。
スライシングを起こさないようにじゃないの。
デストラクタを virtual にすると要らん仮想関数テーブルが作られちゃうからな。
それでいて定義する関数は friend 関数にしてるから外側からでも見えるんだな。
>>969
こんな小題でもいろいろと試されるんですね…
たしかに operator+=() は、意味からいっても friend である必要はまったくないですね。
一方 operator==(), operator+() は式の表現としての対象性を保存したいので、friend をつけたいと考えています。
operator<<() に対しては friend を必ずつけないといけないようですが、その理由はよくわかっていません。
https://ideone.com/pR0EP1
こんな小題でもいろいろと試されるんですね…
たしかに operator+=() は、意味からいっても friend である必要はまったくないですね。
一方 operator==(), operator+() は式の表現としての対象性を保存したいので、friend をつけたいと考えています。
operator<<() に対しては friend を必ずつけないといけないようですが、その理由はよくわかっていません。
https://ideone.com/pR0EP1
973デフォルトの名無しさん (アウアウウー Sacb-DWFp)
2017/11/23(木) 22:59:38.32ID:vKpvx9Uha IDE使っていて思うのがtemplate関数でデフォルト引数classAを設定すれば、
template<typename T=classA>
void Test(T tmp){
tmp.func(1, 2, 3);
}
上記のtmp.のところでclassAの関数とかが出て来るようになると嬉しいとか思ったり
コンセプトとかで対応できるようになるんでしょうか?
template<typename T=classA>
void Test(T tmp){
tmp.func(1, 2, 3);
}
上記のtmp.のところでclassAの関数とかが出て来るようになると嬉しいとか思ったり
コンセプトとかで対応できるようになるんでしょうか?
974デフォルトの名無しさん (ワッチョイ 7f81-fNTp)
2017/11/23(木) 23:16:02.95ID:WYrOiD8s0 mix-inもまともに知らないやつがなぜ回答してるのか…
975デフォルトの名無しさん (ワッチョイ 0704-bLiP)
2017/11/24(金) 00:17:10.75ID:mELw8YtS0976デフォルトの名無しさん (ワッチョイ df7e-lrN+)
2017/11/24(金) 01:03:21.71ID:/7rxT1Yr0977デフォルトの名無しさん (ワッチョイ 5fbd-hcjg)
2017/11/24(金) 01:39:31.39ID:Z3szivMI0 mix-inで理解が止まっている人がなんか吼えてますな
978デフォルトの名無しさん (オッペケ Srfb-gBtc)
2017/11/24(金) 08:42:41.97ID:ZeExn92sr979デフォルトの名無しさん (ワッチョイ 7f81-fNTp)
2017/11/24(金) 09:00:16.20ID:nFkUcp0I0 >>977
boost operatorsのprivate継承がmix-in以外のなんだと思ってるんだ?
boost operatorsのprivate継承がmix-in以外のなんだと思ってるんだ?
980デフォルトの名無しさん (ワッチョイ dfeb-+V5r)
2017/11/24(金) 10:03:13.88ID:dhAYmdbT0 静的リフレクションが欲しい
981デフォルトの名無しさん (ワッチョイ 47c8-fNTp)
2017/11/24(金) 10:21:33.74ID:Un7I7rhA0 後のプリプロセッサである
982デフォルトの名無しさん (アウアウカー Sadb-ZI9b)
2017/11/24(金) 12:38:49.19ID:p8RxfMqqa C++を勉強しようとしてるんだが
基本的にCの書き方が一般なのか
C++の書き方が一般なのか教えてもらいたい
基本的にCの書き方が一般なのか
C++の書き方が一般なのか教えてもらいたい
983デフォルトの名無しさん (ワッチョイ 0778-4Z1+)
2017/11/24(金) 12:51:25.91ID:l1+FhW7v0 コーディングスタイル?
そんなの好きにすればいいよ
そんなの好きにすればいいよ
984デフォルトの名無しさん (ワッチョイ 678a-nf8U)
2017/11/24(金) 13:21:28.52ID:w0OmJEj50986はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bf6f-KsIq)
2017/11/24(金) 14:07:55.96ID:lG8HVUMw0 >>985
operator+= の返却値は参照にしといた方が辻褄が合うので良いよ
operator+= の返却値は参照にしといた方が辻褄が合うので良いよ
987デフォルトの名無しさん (スプッッ Sdbb-T4vC)
2017/11/24(金) 14:10:30.10ID:/RqU0h4Pd 関数内で作ったベクターやマップは関数を抜けたらメモリ解放されると考えてよかです?
989デフォルトの名無しさん (スプッッ Sdbb-T4vC)
2017/11/24(金) 14:25:57.62ID:/RqU0h4Pd >>988
記憶クラスによるとは
スマホで打ってるから書式とかガタガタだけど下みたいなことしてる
createmapってのを抜けたときにvectorもmapも解放されると信じている
vector XX( *map)
{
要素数二個のstring型のvectorデータを作成
return vector<string> ←要素数2
}
createmap ()
{
map<string,string> y
{
vector<string> tmp = XX(&y)
y.insert( tmp[1] , tmp[2])
}
}
記憶クラスによるとは
スマホで打ってるから書式とかガタガタだけど下みたいなことしてる
createmapってのを抜けたときにvectorもmapも解放されると信じている
vector XX( *map)
{
要素数二個のstring型のvectorデータを作成
return vector<string> ←要素数2
}
createmap ()
{
map<string,string> y
{
vector<string> tmp = XX(&y)
y.insert( tmp[1] , tmp[2])
}
}
990デフォルトの名無しさん (ワッチョイ 7f6e-Mqmq)
2017/11/24(金) 14:36:50.33ID:9/UAKu4i0 うん、信じていい
XXから抜けるときにムーブコンストラクタでtmpへ移動され
createmapから抜けるときに解放される
このときoperator deleteが呼び出されるが
operator deleteがどのようなタイミングで解放しているかには依存すべきでない
我々が関心を持つべきはoperator deleteが呼び出されるタイミングで実装の詳細ではない
XXから抜けるときにムーブコンストラクタでtmpへ移動され
createmapから抜けるときに解放される
このときoperator deleteが呼び出されるが
operator deleteがどのようなタイミングで解放しているかには依存すべきでない
我々が関心を持つべきはoperator deleteが呼び出されるタイミングで実装の詳細ではない
991はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bf6f-KsIq)
2017/11/24(金) 15:15:03.03ID:lG8HVUMw0992デフォルトの名無しさん (ワッチョイ 7f6e-Mqmq)
2017/11/24(金) 15:33:02.71ID:9/UAKu4i0993はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bf6f-KsIq)
2017/11/24(金) 16:06:58.81ID:lG8HVUMw0 >>992
そう。 RVO 必須だからコピーコンストラクタもムーブコンストラクタも無いクラスでも OK っていう新しいルール。
https://wandbox.org/permlink/X6g7JSpkSl82VvtZ
そう。 RVO 必須だからコピーコンストラクタもムーブコンストラクタも無いクラスでも OK っていう新しいルール。
https://wandbox.org/permlink/X6g7JSpkSl82VvtZ
994デフォルトの名無しさん (ワッチョイ 7f6e-Mqmq)
2017/11/24(金) 16:44:55.52ID:9/UAKu4i0 >>993
OK? それは03でも同じことやん
OK? それは03でも同じことやん
レス数が950を超えています。1000を超えると書き込みができなくなります。
ニュース
- 国民 居住目的でない住宅所有者に「空室税」課せる法案を提出 ★2 [少考さん★]
- 国民 居住目的でない住宅所有者に「空室税」課せる法案を提出 [少考さん★]
- 「働いて働いて」の流行語大賞に懸念 「言葉が独り歩き」 過労自殺遺族 [尺アジ★]
- アメリカ、入国時に「日本人を含む外国人観光客の最大5年分のSNS履歴の提出」義務化へ 過去10年間に使用のメールアドレスや電話番号等も★3 [Hitzeschleier★]
- 【画像】消えた美人女優 上原多香子さん(42)、沖縄で目撃される [牛丼★]
- 「暖房が使えない」「食費が高くて子どもの栄養が…」 物価高に苦しむ子育て世帯、政府に期待する支援は ★2 [蚤の市★]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★1
- 【高市悲報】JA、発狂www「臨時に経費率を下げるので、どうかお米券を使ってください」 [246620176]
- 俺「お疲れ様でぇぇす」お前ら「ゥェェス…」←これ
- 高市早苗、自衛隊に核爆撃訓練を命令 「習近平は謝れ」 [175344491]
- 女はチンコをオカズにオナニーするに決まってる
- 会社の忘年会断った
