C++相談室 part144

■ このスレッドは過去ログ倉庫に格納されています
2019/07/22(月) 13:18:35.52ID:gptRHpgT
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。

前スレ
C++相談室 part143
https://mevius.5ch.net/test/read.cgi/tech/1560574313/

このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.105【環境依存OK】
https://mevius.5ch.net/test/read.cgi/tech/1556142878/

■長いソースを貼るときはここへ。■
 http://codepad.org/
 https://ideone.com/

[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)

----- テンプレ ここまで -----
2019/07/31(水) 14:28:29.92ID:OXiBQODl
まずエラーメッセージ(undefined reference to )でググろう
2019/07/31(水) 14:47:50.63ID:619hUwfJ
単純にライブラリ参照できてないだけだと思うけどなぜ作者に聞かないのか
2019/07/31(水) 15:36:14.85ID:GSIi4G30
stdをusingする子は嫌いだよ
132デフォルトの名無しさん
垢版 |
2019/07/31(水) 16:18:44.92ID:/qk9IG8W
ググりましたが難しかったです。
make install時に*.aなどのlibパスを入れるとか、コンパイル時にlibパスを入れるとかありましたがうまくいかず。。
作者がいるので問い合わせればよいですね。
まずは問い合わせてみます。
ありがとうございました。
2019/07/31(水) 17:43:06.37ID:5OHVc1Pr
ライブラリの中身関係ない質問されるとか作者かわいそう
2019/07/31(水) 18:10:51.91ID:qr1YW5nx
ggrksファッキューって言われたら戻って来てね
優しいお兄ちゃん達が解決してくれるよ
135デフォルトの名無しさん
垢版 |
2019/07/31(水) 18:38:26.40ID:3lzQcoQt
あれーmake installする前にmakeやるんじゃなかったっけ。ライブラリがそもそも生成されてないんじゃないの

それとライブラリのパス入れるときは-Lか-lだけどもしかして-Iでやってたりしない?
2019/07/31(水) 18:46:16.25ID:/POyZPT4
肝心のlibGDSIIをリンクしてるか?
2019/07/31(水) 20:42:21.65ID:P7Lm1qLK
>>131
理由は?
2019/07/31(水) 20:52:22.57ID:ik5GKAMP
理由なんてきくまでもないだろ
2019/07/31(水) 22:08:20.49ID:MO/qze1m
>>138
usingを使えば。std:: と打ち込む手間が減って便利になるメリットが
ある。逆にデメリットは何か聞いてみたい?
2019/07/31(水) 22:09:40.65ID:619hUwfJ
名前空間の汚染
2019/07/31(水) 22:41:36.16ID:IFyIPjvz
using namespaceのデメリットが分からないのは名前空間を理解していないのでは
2019/07/31(水) 22:53:59.23ID:P7Lm1qLK
実際問題、std は standard template library の 「standard(標準)」な
訳だから、using 使っても、他の何らかの(ライブラリなど)の名前と
衝突する可能性は低いですよね。汚染と言っても現実に衝突する可能性
は低い。もしstd::が必須なのであれば、Stdという接頭辞を最初から
付けていればよかったはずであって、敢えて std:: という 5文字分を
タイプする必要は無かったはず。

仮に何かと衝突するというなら設計の不味さを感じますね。
2019/07/31(水) 22:59:46.59ID:IFyIPjvz
ちょっと何言ってるか分からない・・・
2019/07/31(水) 23:05:09.42ID:jjf+PlTq
>>142
衝突する可能性は低いという前提が抑間違い。
お前さんは広範な標準ライブラリのすべてを熟知してstd名前空間で定義された名前とはぶつからない命名が常にできる自信はあるのかい?
今現在問題なかったとして、後に標準ライブラリが拡張されて、自分でつけた名前にぶつからない保証は?
そんな諸々の厄介ごとを回避するために名前空間はあるのだから、自分しか使わないソースで誰にも迷惑かけないなら好きにすればいいよ。
2019/07/31(水) 23:06:54.23ID:jjf+PlTq
不要な抑の字が入ったのは無視して。
2019/07/31(水) 23:18:20.34ID:pv+GZng6
設計の不味さを感じますね(ドヤァ
2019/07/31(水) 23:26:41.52ID:pv+GZng6
仮に線形代数のベクトルクラスとか作ったらいきなり衝突するんだがな
他にも衝突しそうな名前なんか腐る程ある
何のための名前空間だと思ってんのかと小一時間

どうせ標準ライブラリしか使ったことが無いようなド素人なんだろ
2019/07/31(水) 23:52:34.02ID:F67noKPW
まぁ必要最低限のものだけimportしましょうっていうだけ
他言語と同じだよ
2019/08/01(木) 00:01:43.50ID:x8K/VZkX
>>128
libzzz.a または libzzz.so とリンクするには gcc のオプションに -L 該当ファイルのパス -l zzz が必要。

て事も知らないなら入門書からやり直しが必要な初歩レベル
2019/08/01(木) 00:11:28.53ID:jAJZsaMK
using namespaceが悪なのはヘッダのグローバル空間でかますのが絶対悪ってだけで
それ以外では大概どうでもいい話
2019/08/01(木) 01:27:47.64ID:EAAzAfmw
>>142
競合するかどうかは問題の本質ではない。
using stdをつけてstd::を省略したコードは、using stdをつけていない他の環境に持っていったときに動かない。
std::をつけていれば、どんなusingが使われていようと関係なく動作する。
using stdを使うべきではない理由はこれだけで十分。
せっかく標準規格化されてどの環境でも同じように動作するライブラリのポータビリティを阻害するのは長い目で見ればデメリットしかないと思う。
2019/08/01(木) 02:08:20.24ID:YZxnvLL/
プロのプログラマでもないしstdやboost使う程度なんで名前空間汚染問題とか大げさにしか思えない
大したコードでもないのにstd::つけまくってるコード見るとアホらしくなる
職業や用途あるいは個々人の技量によって求められるものは違うでしょうに、十把一絡げに議論して意味あるの?
2019/08/01(木) 02:19:13.29ID:AVudDz+c
>>152
元の質問者が何も分かってないから突っ込まれているだけで、問題点とか自分以外の人がどう認識しているかを知った上で、使う使わないって判断は好きにすればいいだろうよ。
2019/08/01(木) 02:20:44.23ID:53RNnp/+
意味無いと思うなら参加しなければいいだけ
趣味なら好きにすれば
2019/08/01(木) 02:21:00.23ID:EAAzAfmw
>>152
オレオレコードを一人で書いて満足するのが好きなら、別に止めはしない。
でもそんな主張をここでされても多分同意は得られないと思うよw
議論する気があるなら、みんなが分かるコードを書かないとだめでしょ。
2019/08/01(木) 02:21:21.39ID:xENMcR2S
>>152
>>142を読み直せ
言わずに我慢してたけど、
てか今まで何度も言ってきたが最近C++数年かそれ以下の初心者が偉そうにしすぎ
初心者だからと貶したいんじゃない、自分が知らないことや先人(俺のことじゃないよ、念の為)への畏怖や敬意が全く無いから
>>142の最後の行みたいな思い上がったセリフが出てくる

そういうやつが今後上達するかというと俺は首ひねるけどね
2019/08/01(木) 02:52:55.71ID:EzhbGyK1
stdだけusingしてライブラリはusingしなければいいだけちゃうの?
2019/08/01(木) 03:13:40.26ID:xENMcR2S
それが都合がいいなら好きにすればいいんだよ
誰もstd名前空間は取り込んじゃいけないとは言ってない

そんなのは個々の設計の意思決定と責任の話で、std取り込む奴がアホとか取り込まないのがアホとかいう話じゃない
2019/08/01(木) 05:07:42.89ID:z8lvaa68
ヘッダにusing namespace書くやつは許さんけど、実装部分では好きにさせてやれよ
2019/08/01(木) 07:34:07.43ID:RgaAx32e
>>151
「他の環境に持っていったときに動かない」って、どういうこと?
ソース丸ごと持っていくなら、ソースにusing namespace std;が含まれるから動くでしょ。
もしかして、ソースの一部だけコピペして持っていく場合の話?
「コピペでも動くソースにしなければならない」という主張はちょっとどうかとおもうけど。
2019/08/01(木) 07:36:43.17ID:crx0fETR
ソースレベルのライブラリを持ってくとか
2019/08/01(木) 07:59:03.96ID:dXXftso1
>>159
俺もこれに同意
>>151の主張はちょっと意味わからん
2019/08/01(木) 08:05:18.75ID:xENMcR2S
>>160
標準以外のライブラリの存在が全く想定できてない
自前のちょっとしたライブラリのヘッダでもusing namespace stdって書いてたら
その後or中でインクルードしたヘッダ類が全部巻き込まれて名前の衝突が起きうる
ソースでusingした後にインクルードした場合も同じ(これはあんま無いと思うけど

仮にライブラリとしてファイルが綺麗に別けられてても別のプロジェクトに移して動かない場合があるってのはこれのことでしょ
2019/08/01(木) 08:20:05.74ID:RgaAx32e
ヘッダの話なら最初からそう書いてほしい
2019/08/01(木) 08:24:27.74ID:OXlLEF/q
>>163はヘッダの話と一緒くたにしてるのか…
2019/08/01(木) 08:30:48.58ID:EAAzAfmw
ヘッダーにインラインで書くときはstd::つけて、ソースには個別にusingしてstd::を省略するってこと?
そんな面倒なことしてなにか良いことあるの?
2019/08/01(木) 08:41:54.03ID:xENMcR2S
あーすまん、ヘッダには一切書かないのならわかる

ただ、標準と別のライブラリで衝突する名前があるならどちらかはusingしない、あるいは衝突するものはいちいち指定するかしなきゃいかんでしょ
2019/08/01(木) 08:48:03.19ID:xENMcR2S
>>166
衝突しないことがわかってるならいいけど、ライブラリのヘッダでusingしてたら
そのライブラリのユーザーは衝突する名前をグローバルで書けないんだよ
自分しか使わないのなら好きにすれ
2019/08/01(木) 09:12:15.95ID:+lGsNRBr
させたくないならそれが出来ないようにルールそのものが無いはずだ
でもルールがあるなら使っていいでしょう
それが出来るようにそのルールがあるんだから

それともルールはあるが使ってはいけないという宗教なの?
2019/08/01(木) 09:20:25.62ID:z8lvaa68
そういうのはもういいから
2019/08/01(木) 09:21:49.05ID:53RNnp/+
勝手にすれば?
2019/08/01(木) 09:44:39.86ID:lFlDu5J/
>>169
どうして0か1でしか考えられないんだ?
使うことでメリットがあり問題ないなら使えばいい。
問題あるなら使うな。
メリットデメリットがあるならトレードオフで判断しろ。
2019/08/01(木) 09:53:26.68ID:cScMcWqS
おれの職場ではコード規約でusing stdはもちろんその他の名前空間も省略禁止
ファイルローカルでaliasは可能というか推奨
基本的にコードは後で誰でもすぐ読めるように書く方針だからね
仕事で使うときはこんなもんだよ

似たようなの話でauto多用が読みやすいか読みにくいかは結構議論になる
こっちはまだ規約化されてないな
2019/08/01(木) 10:40:45.28ID:X8QVfxL8
関数の返り型にauto使いまくりなんですけどまずいですかね?
2019/08/01(木) 12:15:50.33ID:RwOvmdDx
auto & shared_data = *this->m_data;
とか多用してる
2019/08/01(木) 17:35:55.46ID:H6AbKfkF
構造体メンバ間のパディングをコンパイル時に知る方法
2019/08/01(木) 17:48:47.61ID:xdkWuzft
>>175
#include <cstddef>
offsetof
2019/08/01(木) 18:18:03.26ID:tmRbumxZ
auto導入によってハンガリアン記法が再評価の機運
2019/08/01(木) 19:18:28.91ID:Ag3GiCEL
>>156
流れ読んでないし本題には触れずにレスするけど同意
「ニワカなやつほど語りたがる」のは世の常だけど
C++ちょっと触っただけくらいの駆け出しのカスが
「C++は〜」なんて知った風に語ってるのたまにあるよなw
それも、スレに参加してるなかでお前一番素人やろってやつが
平然と調子こいてきたりするから驚く
2019/08/01(木) 22:39:23.89ID:re8BbLkf
すまないC++20の新機能諳じて言えない奴は例外なく初心者なので出ていってくれないか
2019/08/01(木) 22:41:32.13ID:IjUNQuw2
>>176
めっちゃ構造体ネストしてsizeofで差分取るとか?
わからん
2019/08/01(木) 22:51:01.89ID:i4bRK0c3
alignofとsizeof使えばわかるんじゃね
2019/08/01(木) 22:56:22.56ID:8zpMvWHA
パディングの有無ならstd::has_unique_object_representationsでわかると思う
どこにいくつあるかは難しい・・・
2019/08/01(木) 23:14:16.19ID:Phw6FYmd
>>177
うわああああああ!!!これだ!これだやりたかったの!サンクス!
そうか0を対象の構造体へcastした後メンバアクセスしてそのアドレス値を取るのか!全然思い付かんかった!
俺に向けたレスかは分からんけど助かった!サンクス!

>>181
それ思い付いたんだけど苦行過ぎてやめてもうた…

>>182
あーalignofで上手く取るってのも有ったのか!使う機会があまり無いポンコツなもので気付かんかった!

>>183
うむむ?初耳機能だ
後で調べてみまする

皆さんありがとうございました!
2019/08/02(金) 01:30:02.97ID:Baufd8HM
メンバポインタの差取る方法もありそう
規格の保証はなさそうだけど
2019/08/02(金) 02:03:55.33ID:zOtmkI/7
>>151
using を絶対に全く使わないのであれば、そもそも namespace の概念自体が
意味が無いと思いますよ。タイプ量を減らすことはとても大切だからこそ、
衝突しない場合には、using を使えるように設計してされているわけですから。
もし絶対に std:: を付けるのであれば、例えば、std::vector と書かずに
最初から StdVector などと固定の名前でも良かったわけです。しかし
それだと長くなってコーディング効率が下がるので、可能ならば
std:: を省略して vector と書けるように設計されているわけです。
それこそが namespace の思想なのでしょう。
2019/08/02(金) 02:09:48.23ID:zOtmkI/7
>>173
usingを使わない方針は気持ちは分かります。しかし、usingを使い辛くなって
しまうのは想像力を働かせればSTLやC++の言語使用設計の段階から
最初から分かっていたはずで、そもそもSTLが最初からstd という
namespace に入れて有ること自体が余りセンスが無かった可能性があると
自分は思ってます。
2019/08/02(金) 02:16:04.07ID:zOtmkI/7
1. std::string
2. StdString
3. CString

最も効率がいいのは、3 の CString でその意味では CString の設計者は
センスが良かったと私は思っています。using を使って std:: を書かないように
した場合、確かに何かのライブラリと衝突の危険性が出てきます。
ならば、標準のライブラリ(STL)は、デフォルトでは namespace の中に入れる
べきではなかったのではないかとも思います。
namespaceは、たまたま衝突が起きた場合には、その時点で使うと助かる場合が
あると思いますが、最初から入れてしまった事で新たな問題が入ってしまった
可能性があります。
2019/08/02(金) 02:35:42.08ID:TGlmBsBg
>>186
namespaceってその名の通り名前空間を分割することで識別子名の競合を避けて、命名の自由度を上げる(楽をする)ための機能でしょ。
ある程度大きな規模のプロジェクトでは大変重宝するものだと思うんだけど、なんかものすごく偏った理解のしかたしてない?
2019/08/02(金) 02:46:27.31ID:TGlmBsBg
>>188
CStringとタイプするには、shiftを押したり離したりしないといけないし、手間としてはstd::とそれほどかわらないと思うんだけどw
2019/08/02(金) 02:49:52.24ID:zOtmkI/7
>>190
Shiftキーは同時押し可能なので速度が全然違う。
CStringの場合、実質Cの1文字が増える程度で済むが、
std::stringは確実に5文字分増える。
2019/08/02(金) 02:51:05.19ID:zOtmkI/7
>>189
環境の変化での不安定さを避けるためにstd::を付けざるを得ないなら
命名の自由度は全く上がってません。
2019/08/02(金) 02:54:02.02ID:TGlmBsBg
>>191
いやいや、実際はshiftを若干早くおしとかないと、cStringになっちゃったりするだろw
離す時も気をつけないとCSTringになっちゃったりするし。
それに最近のエディタ(統合開発環境)には補完機能が付いてるから、std::で候補が絞られる分、選択に有利に働く。
2019/08/02(金) 02:54:16.42ID:1bW2v8eW
>>186
外から使うことだけしか考えてないみたいだけど、名前空間内の実装を読み書きしやすくする効果もあるでしょ。
2019/08/02(金) 02:55:50.33ID:TGlmBsBg
>>192
命名の自由度があがるのはnamespaceの中での話だよ。
namespaceで囲っておけば、変数にhogeとか適当な名前をつけても競合する心配がなくなる。
2019/08/02(金) 03:01:42.94ID:zOtmkI/7
>>195
namespace std で囲まれている事で気が緩んで hoge みたいな短い名前付けて
しまうことで、std:: を外すことが不可能になってしまう恐れが有る。
結局なんのための名前空間なのか分からなくなってしまうという。
外せない名前空間なら、std_ でも Std でも Stl を付けた方がタイプ量が
少なく済んだのに。
2019/08/02(金) 03:04:55.47ID:TGlmBsBg
>>196
あくまで外すことが前提なのかw
2019/08/02(金) 03:07:18.69ID:zOtmkI/7
>>195
大丈夫だと思って i という一文字のグローバル変数を定義したとしよう。
すると、std::i としている場合には問題ないが、using namespace std;
とした場合、大変な現象が起きる。伝統的な for のループ変数と衝突
するから。
2019/08/02(金) 03:07:57.71ID:zOtmkI/7
>>197
絶対に外さないなら namespace に何のメリットが有るの。
2019/08/02(金) 03:08:43.92ID:zOtmkI/7
>>197
外さないなら、StdVector, StdList で良かったはず。
2019/08/02(金) 03:10:27.53ID:tRQdKQsJ
別に外さなくとも、その名前空間内で書くときは省略できるんで楽なんだけどな
(ライブラリ書いてるときとか
2019/08/02(金) 03:10:40.06ID:zOtmkI/7
>>193
それに、コロン(:)はキーが打ちにくい場所にある上に、同じキーを
二回連打しなくてはならない。これが時間がかかる。
2019/08/02(金) 03:11:25.60ID:zOtmkI/7
>>201
作る側の意見???
普通、ライブラリは使い勝手が良いことの方が重要ですよね。
2019/08/02(金) 03:14:20.48ID:Baufd8HM
この世の名前空間はstdしかないと思ってるのかな?
mylib::vectorとかyourlib::vectorとかを安心して作れるようにするための機能が名前空間だぞ
2019/08/02(金) 03:15:42.09ID:zOtmkI/7
>>201
もしかしてアプリなどでは使わないのにライブラリを作ることだけで
満足している人たちが多いのでしょうか。

なるほど、それで stl や boost が究極にセンスの悪い代物になっているのかも
知れない。コンテナ類は、C/C++のリストの概念が全く理解できて無い人
が作ったとしか思えない。リストは構造がリストであればリスト足りえると
思っているのが頭が悪い。ポインタでアクセスできないリストはリストじゃない。
O(1)で済むところがO(N)になってしまっていて、stlは全くセンスの
悪い欠陥ライブラリ。
2019/08/02(金) 03:17:07.37ID:zOtmkI/7
>>204
だったら MylibVector で十分。そのほうが短い。
接頭辞を変えたければ、grep置換すればいいだけ。wz grepで一発。
それともstlの設計者はgrep置換使ったことが無いんだろうか。
とても頭が悪い感じがする。
2019/08/02(金) 03:37:49.81ID:Baufd8HM
最初にusing mylib::vector;って書いとけば以後は単にvectorと書いたらmylib::vectorの意味になるんだよ
vectorを100回使うならその方が短いだろ?
後でyourlibやmylib_ver2のvectorを使いたくなればgrep(笑)なんかしなくても最初のusing宣言を一箇所書き換えるだけでいい
名前空間ってのはそういう機能で、ただの接頭辞じゃねえんだよわかったか知恵遅れ
2019/08/02(金) 03:53:52.52ID:tRQdKQsJ
>>205
使うから書いてる、というか今後何度もソフト作るのに必要だから書いてるんだが
まぁあんたの言うような変な奴も居るだろうけどな

なんか大事な基本すっとばし過ぎで相手する気力も失せた
2019/08/02(金) 04:05:35.16ID:HNnVO++M
>>186
タイプ量を減らすなんてのは開発において些末なことだろ。通常は開発時間の多くは設計、思考に費やして、コードをタイプする時間の比率なんて誤差程度のものだよ。
お前さんのプログラミングではほんの数文字のタイプがそれほど重みがあるのか?もしかして頭使わずに写経だけしてるのか?
2019/08/02(金) 04:13:12.69ID:HNnVO++M
>>200
どうして外すか外さないかの二択しかないのか?
外すことでメリットがある使い方をするときは外せばいいよ。
外すための方法がいくつかあるのは分かるか?その書き方の違いや、それを使う場面や文脈で良し悪しが変わるというのは理解できるか?

お前さんは名前空間に関する仕様の理解と現実の開発作業の経験が少ないのにその自覚がなく、自分の考えに凝り固まってるから議論が進まない。
2019/08/02(金) 04:26:28.62ID:HNnVO++M
>>206
自分のコードを再利用しやすくするためにライブラリ化する。その歳に名前の衝突を容易に回避できるよう名前空間を使用する。
名前がぶつかるからって安易にコピペして置換するなんて愚の骨頂だろう。
そんなやり方を良しとするというのは、規模が小さく保守の必要もない使い捨てのような小さなプログラムしか作ったことがないのだろうか。
2019/08/02(金) 05:07:02.54ID:qy++cDJt
なんかやべーやついる
2019/08/02(金) 06:16:59.13ID:DB/RmtTt
長文なのに書いてある事はスカスカだな
腐ってもプログラマーの端くれなら言いたい事は短く簡潔に書いてくれ
2019/08/02(金) 06:29:04.32ID:QcV1urKo
夏休み恒例爆釣り天国(゚∀゚)
2019/08/02(金) 06:49:45.16ID:CuK6m4Hq
どこのスレも荒れてると思ったら夏休みだった
2019/08/02(金) 07:04:11.63ID:OZv2fXQJ
名前空間やクラスに別名付けれるの忘れてね?
2019/08/02(金) 07:27:30.51ID:uj4cDNt2
だいたい標準ライブラリがvectorとあstringみたいなきわめて衝突しやすい名前を使っているのが悪い
諸悪の根源すぎて死ぬ
std_vectorとかstd_stringとか衝突しにくい名前にすれば済んだ話
しかしそれだと標準ライブラリ内部のコードがダサくなって逝けてないから、という理由で導入されたのがstd名前空間。
所詮センスの問題なためにいつまでたっても議論が収束しない

ここはRustのパッケージのようにパッケージが公開/非公開の唯一の境界、みたいに割り切って
名前空間の設定に論理的必然を持たせたらよかったんじゃ…
2019/08/02(金) 07:35:54.09ID:uj4cDNt2
だいたいfoo::some_symbolと書いたときfooがクラスのときご名前空間のときがあって、
それぞれやれることが微妙に違いもあるがだいたいオーバーラップしているとか嫌すぐる…
疑問に思わないのはC++に脳が汚染されている証拠

後方互換性命で変えるな派と後方互換性を失っても改良すべき派の合意が見られない事案については
前者が勝って後者は追加で我慢するというWIN-win決着で永遠に先送りされつつ混迷だけが深まっていくのがC++の宿命
2019/08/02(金) 07:38:50.92ID:Mf8CxiUW
namespaceも分からない初心者が上級者面して住み着いてるのか・・・
2019/08/02(金) 07:42:20.24ID:uj4cDNt2
なにおうnamespaceがイミフな言語機能であることぐらいはよくわかっとるわ!
標準ライブラリ内部のコードにおいてもほとんどがテンプレートであるために、
using std;することが許されない

つまり、std_vectorやstd_stringという風に名前を長くするのに対してなんのメリットも提供されていない
2019/08/02(金) 07:43:02.09ID:uj4cDNt2
訂正orz;
誤: using std;
正: using namespace std;
2019/08/02(金) 08:15:18.88ID:WBAmTSV/
関数名_ローカル名 ってすれば全部グローバル変数でいいだろっていう主張?
2019/08/02(金) 09:01:08.99ID:r+xcYYgK
数多くの言語で採用されているnamespaceが意味不明って・・・
2019/08/02(金) 09:13:54.00ID:9zV6XrP/
なんでこういう馬鹿が定期的に沸くんだ
ちょっと調べればなぜこんな機能が必要とされたか位わかるだろ
名前空間の問題なんてC++固有の問題じゃないのに
2019/08/02(金) 11:01:28.88ID:OZv2fXQJ
>>220
邪悪なADLが利点だよ
2019/08/02(金) 14:45:11.22ID:Tt8ZbjXp
complex<__float128>ってできないの?
2019/08/02(金) 16:35:01.23ID:aGnTdwVX
インスタンス生成時に絶対に決めなきゃいけない定数をテンプレートパラメータにするかコンストラクタに渡すか迷ってる

両者にはどういう思想の違いがありますか?
2019/08/02(金) 16:54:49.60ID:Bzyz7IRB
なんかLinus TorvaldsがC++ディスってる記事でnamespace絡みで
「Cならmy_foo()って名前にするね、やっほー、grep my_fooが機能するぜ!」
みたいな話があったような気がするんだけど検索しても見つからない(´・ω・`)
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況