C++相談室 part138
■ このスレッドは過去ログ倉庫に格納されています
次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part137
http://mevius.5ch.net/test/read.cgi/tech/1531558382/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.103【環境依存OK】
http://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++はクラス名が長くなりがちだからautoは便利なんだけど、型が分かりにくくなってしまう
個人的にはuniversal initializationかな >>616
Eigenはautoが使えんて記事見た事ある >>600
ついでにCについて調べてみたが、
Cはコンパイル時に初期化で、リテラルしか許可されないらしい。
まあこの構成ならシンプルで美しい。
https://www.geeksforgeeks.org/g-fact-80/
問題はC++で、
動的初期化前提のクラスも普通にそこに書きたいから、
初期化タイミングを「最初の実行時」に移動し、
結果的にフラグをコンパイラ側で用意する等で対応することになるが、
C++erが馬鹿過ぎてスレッドセーフに書けなかったからC++11で言語側で補助輪追加、のようだ。
何だかなあ、だが、割とC++的展開ではある。
C++は全般的に仕様に貪欲すぎる。Cのように、それは無理だから割り切る、という部分がない。
結果、ソースコードから想像も出来ない仕様が追加されているわけだ。
そりゃLinusも嫌うわ。
見た目スレッドセーフでないコードが仕様でスレッドセーフにされているのは、かなり酷い。 範囲for自前のでももうちょい組み込みやすいといいんだけどな
結構めんどい C++ って、
std::vector<int> {要素1の初期値, 要素2の初期値, 要素3の初期値}
で一時オブジェクトが作れましたっけ? https://docs.microsoft.com/en-us/cpp/cpp/constructors-cpp?view=vs-2019
↑によれば、initializer_list<string> { "bread", "cheese", "wine" }
という書き方は出来るらしいです。 >>615
usingだな。aliasを適切なスコープで定義できるだけで十分。 >>625
それは、
std::vector<int> &data = {1, 2, 3 ,4 , 9999999};
に相当しているようで、>>622 の
std::vector<int> {1, 2, 3 ,4 , 9999999}
とは違いますね。 C++ の例として、
std::vector<int> data = {1, 2, 3 ,4 , 9999999};
は見たことがあると思うんですが、>>625 だと関数の
引数渡しの場合にはなっていますが、結局、
std::vector<int> &data = {1, 2, 3 ,4 , 9999999};
相当の事をやっているようです。この形式も可能なんでしょうか? やってみたら、& が付いてない方は通りましたが、& を付けた方はエラーに
なりました。
どうやら、関数の引数の場合だけは異なる処理がされているようです。 for (const auto& p : std::vector<int> {100, 200, 300, 400} ) {
std::cout << p << std::endl;
}
↑は通りました。
【結論】
std::vector<int> data = {1, 2, 3 ,4 , 9999999}; // ○
std::vector<int> &data = {1, 2, 3 ,4 , 9999999}; // ×
std::vector<int> {100, 200, 300, 400}; // ○, 一時オブジェクトの生成。 >>631
【追加】
void func(const std::vector<int>& deta) {
・・・
}
func( {1, 2, 3 ,4 , 9999999} ); // ○, 実際にコンパイルに成功する。 【結論】
std::vector<int> data = {1, 2, 3 ,4 , 9999999}; // ○
std::vector<int> &data = {1, 2, 3 ,4 , 9999999}; // ×, const が付いてない参照型はダメ。
const std::vector<int> &aaa = {1, 2, 3 ,4 , 9999999}; // ○, const が付いていると OK。
std::vector<int> {100, 200, 300, 400}; // ○, 一時オブジェクトの生成。
void func(const std::vector<int>& deta) {
・・・
}
func( {1, 2, 3 ,4 , 9999999} ); // ○, 実際にコンパイルに成功する。 >>631
一時オブジェクト(右辺値)だから&&で受けなきゃいけないね
std::vector<int> &&data = {1, 2, 3 ,4 , 9999999}; // ○
>>632
constであれば一時オブジェクトの参照も引数にとれる
constを外すとコンパイル通らない for (const auto& p : {100, 200, 300, 400} ) {
std::cout << p << std::endl;
}
↑も通りました。
すくなくとも、for each の文脈においては、
std::vector<int> {100, 200, 300, 400};
と
{100, 200, 300, 400}
は等価であるかのように振舞っています。詳細は分かりません。 >>627
c++17でstd::iteratorが非推奨になったのを書き直すとそれなりにめんどくさい
あと貼ってくれたURLは分かりすいけどもc++11以降の書き方には見えないなw >>607
自分も最近ネット上でそういうブログとか見かけるけど、初心者もいいとこなやつに限ってそういうふうに書く
過去の仕様を腐すのがカッコいいと思ってるぽいね
アホだと思ってほっとけばいいよ
>>619
ET使ってるライブラリは戻り値が仲介クラスで実際に利用するベクトルとかのクラスじゃない
ベクトルクラスなどの代入演算子やコンストラクタに渡すことで初めて展開される
なのでautoで受け取るとまずいんだろうね 仕事の人は守秘義務とかあるだろうから聞かんけど趣味の人はC++で何作ってるの? Windowsにはgdiplusという悪名高い画像ライブラリがあって min(), max()が名前衝突する困った仕様になっている。
usingで置き換えてくれたらみんなが幸せになるのに。 NOMINMAXを定義する方法、関数名を()で囲う方法ある あー勘違いしてた。gdiplusの話か。std::min,std::maxを使うように更新して欲しいわ。 >>638
汎用ほにゃらら系統
可変長、任意型タプルのテンプレートとか。
クソの役にも立たんが。 >>640
悪名高いといっても、MS 標準で、jpg, png, bmp などを簡単にファイルから
べたデータに変換して GDI の Bitmap 画像として BitBLT 出来るのは、GDI+ のみ。
透明色を十分にサポートしているのもこれのみ(ちょっと遅いらしいが)。
普通の Win32 (のGDI など) は、jpg, png, bmp をファイルから読み込もうとすると
自分でファイルを解析するか、読み込み用のライブラリを自分で探してきて
リンクする必要がある。 GDI+は既にLegacy Graphics扱いでもう新規に使うべきものじゃないことになってるしなぁ。
画像ファイル扱うなら今はWICを使う。 GDI遅いしね
GDI+はGDI時代でもそれよりくそ遅かったのに、今じゃ使う意味がない
まあXP以前のOS用に開発する必要があるなら別だが でも、GDI+ は分かり易い。
ファイルの読み書きだけを使うのであれば全く問題ない。
描画系に関しては GDI+だけで済まさずに工夫すれば遅くは無い事が多い。 https://stackoverrun.com/ja/q/3803501
ここを見てみたら、2012年の時点で、GDI+の代わりになるMSが推奨するもの
はWPFという話。しかし、WPF自体が GDI+ より遥かに衰退してしまった現実がある。 一所懸命ググったんだろうねw
つまりGDI+より新しい技術のことを全然知らないから、否定されたら必死に擁護するしかないわけだ。 >>648
おまえみたいのにそう言わせるために
わざと減速してるんだよ そもそもGDI+はC++クラスを使ったラッパーに過ぎないので、基幹部分をしれっとDirect2Dに置き換えることだってできたはずなんだよね。
だけどなぜか劇遅のまま放置されてる。
同じことは、STLの正規表現クラスregexにも言えるわけで、基幹部分をしれっとpcreなりre2なりに置き換えることだってできる。 尻切れトンボの追記。
同じことは、STLの正規表現クラスregexにも言えるわけで、基幹部分をしれっとpcreなりre2なりに置き換えることだってできるはずなので、
競合する正規表現ライブラリからシェアを奪うためにも、STLのregexと互換性のあるインターフェースをライブラリ提供元に公式で作ってもらいたいというなぁという愚痴。
あと、今やヘッダーに何でも書く時代になったので、ヘッダーを書くときは名前衝突しないようにC++の名前空間を有効に使って配慮するのがマナーかなと。 失礼しました。regexはstdであってSTLではなかった。 何度も言っているがお前ら池沼は邪魔だから本スレに行け。
俺は隔離されてやってるんだから俺に文句がある奴がここに来る必要なんて無いだろ。
C++相談室 part145
https://mevius.5ch.net/test/read.cgi/tech/1568362404/
お節介ついでに言っておいてやると、
>>591と>>635は上達しないタイプだ。ただし>>635は救済の余地がある。
>>422と>>553は上達するタイプだ。だから俺は救済してやろうとした。 >>422だが、ああいうコードをすぱっと投稿出来る素朴さは失うべきではないんだ。
糞コードだと叩かれたところで、どこが糞か指摘してもらえれば上達の手助けになる。
そこで「俺コードの方が上だ」と突っ張りあいをするのなら、それも切磋琢磨になる。
お前らは批判されるのを恐れてこれを全くやらなくなってしまっている。だから上達しない。
そして逆に、これをやり続けているのがOSSで、GitHubなんてその典型だろ。
コードを書けない奴に発言権無しの世界だから、お前らは参加出来ないとは思うが、
逆に、コードを書ける奴にとっては、お前らみたいな池沼に絡まれることがない、かなり快適な世界だ。
だからGitHubは本日も盛況なわけでさ。
>>553もちゃんと自分で考えて本質を見てるだろ。
言っていることはその通りで、従ってシングルトンなんて珍妙カラクリオナニーなゴミでしかない。
これに対して>>591は「シングルトンパターン」という権威?を「有用で正しい」と思いこみ、
活用の仕方を探している。これは方向性が全く逆だ。
これは自分で考える知能がない奴が陥るパターンだ。だからこいつは上達しない。
話を聞く限り、インターンで褒められて勘違いした奴じゃないかな?
インターンは新人以下の奴に1週間程度でそれなりに成果を出させて、
しかも仮に成果が全くなくとも本業に影響してはいけないので扱いが難しい。
そこで「モック」を作らせて「無いよりまし」な状況でテストの足しにしよう、というのは戦略として正しい。
それでおだてられて勘違い、というところだろう。
教育や結果に責任持つ必要なく、嫌われる価値すらないので、当然褒める。
お客様扱いでしかなく、同じコードを「新人」として入社後に書いたらボロカスに言われることを理解出来てない。
といっても、まあ、これを入社前に知っている奴なんて居ないから、本人の問題ではないが、
そこで勘違いしているようなら上達はしない。
ただこいつは話しぶりから学生ではなく既に社会人っぽいので、おそらくもう手遅れだろう。 >>635はそれ以前で、何を努力すべきか分かっていない状態だ。
といっても聞く耳は持っていそうだから、勝手にアドバイスしておいてやる。
>>607
基本的に出来るだけ最新の環境を使え。
新しいのは以前の問題点を修正したものだから、「以前」を知らない奴が古い環境にこだわる理由はない。
お前がまともにプログラミング出来るようになるまでにどうせ数年かかるから、
そのうち「古い」といわれている物に追いつかれる。
だから、自分が未熟で熟達できるまでに数年かかると自覚出来ているのなら、
今なら当然C++17以降の環境を使うべきだ。新機能を使うことに躊躇する必要はない。
お前は初心者なのだから。
>>635は完全に方向性を間違っているから止めろ。
C++は他言語と比べて3周ほど遅れていて、どのみち糞な書き方しか出来ないから、お前が今やるべきなのは、
std::vector<int> data = {1, 2, 3 ,4 , 9999999};
for (const auto& p : data) {
std::cout << p << std::endl;
}
という糞な書き方を受け入れてその先のコードを書くことであって、
C++の糞さを回避することに躍起になることではない。
(ただ同様にここで引っかかっているこのスレの馬鹿C++erは多いようだが) エレガントに書けなければ受け付けない、というのなら、まずはLL言語で学べ。例えばJavaScriptなら、
[1,2,3,4].forEach(v=>console.log(v));
と書ける。
LL言語で楽に書けるのはC++側も理解していて、今C++の糞な部分を修正していっている。
結果的にC++をLL言語に寄せて行っているから、LL言語で学べば先回り出来る。
むしろ、今の糞なC++でお前みたいなおかしなこだわりを持つのは時間の無駄でしかない。
それはC++標準委員会の仕事であって、お前がやるべき事ではない。
そもそもC++なんて速度チューニングする気無ければ使う価値のない言語だ。
お前らみたいな、OOPすら理解出来ないレベルの馬鹿が使う意味はないはずなんだがな。
(C/C++しかなかった昔ならさておき、今は他のもっとましな言語があるのだからそっちで入門すべき)
そしてお前ら、OOPを理解したいがコードが書けない、というのなら、何故>>572のコードを読まない?
全部読んだわけではないし、俺なら違う組み方にするが、
コード自体は普通にクラス分けされているし、普通にOOPだ。
むしろ普通すぎて読む価値なさそうだから俺は読むのを止めた。
が、お前らにはいい教材だろう。規模も小さくて手頃だ。
逆に、妙な構造になっていて、その善し悪しを議論したい、というのなら受け付ける。
俺はそういうことをするのがここの使い方だと思っているので。
ちなみに、シングルトン部分は意味無いというのは既に言ったとおり。
修正するほど悪いってわけでもないが。この辺はポリシーと好みだろうな。
(ただな、コンストラクタをprivateにして呼べなくする、というのは、
「シングルトンパターン」というのが認知されてない世界ではグーで殴られる案件だ。
そういう、コードを見てぱっと趣旨が分からないことは基本的にやるべきではないんだ。
実際、実体を一つに限定したいのならstaticまたはグローバルで済む話でしかないし) staticと言われてもC++のstaticには色々な意味があるから
どの意味なのか >>553の言う「スタティック」の意味だよ。
それが分からないのはお前の問題だ。
ただそれ以前に、これすら分からない奴がデザインパターン(キリッやOOPする意味なんてまるでないんだよ。
だから何でもいいから1,000行規模の物をまず書けと言っている。
書くことがないのなら、(プログラミングを学ぶ必然性がそもそもないと思うが、それでもと言うのなら)
>>572のコードを読めと言っている。 ついでに言っておくと、>>553の5chの使い方は正しいんだ。
だから救済しようとしている。
上司が「シングルトンパターン(キリッ」とかやってる馬鹿だと、
「いや、でもシングルトンってスタティックと何が違うんですか?」なんて質問出来ないだろ。
そういう「リアルでのモヤモヤ」を5chで問うのは正しい。
そして各自が勝手に有用かゴミかを自説と共に述べあい、どれがまともかは553自身が判断すればいい。
ここは本来そういうことをする場所だ。
お前らみたいなゴミがイキがる場所ではない。 だけど、どの意味でのstaticかでだいぶ変わるよ
>>553もどの意味で使ってるのか分からん
グローバルのstatic指定と関数内static変数とでは意味合いが大分違う
どちらもシングルトンな使い方が出来るからどっちかわからん >>666
ならそれは区別する必要がないんだよ。
お前らにとっては受け入れ難いだろうけど。
例えば、名前空間A内の変数Bと、
グローバルにあるクラスA内のstatic変数(クラス変数)Bは、どちらも
A::B
でアクセス出来るだろ。
これは区別する必要がない、ということなんだよ。意味的には同じだから。
で、この「意味的には同じ」が通じないのはお前らがコードを書いてないからだ。
お前らがまずいのは「文法」から入ってしまっていて、「文法」が違うから全て別物だと思ってしまっている。
そうじゃない。「意味」から入らないといけない。
そして意味から入れば、>>553のような見解に自然に到達する。
お前らは「文法」にこだわりすぎだ。
どういう構造にしたいのか、それが重要なのであって、それをC++ではこう書く、でしかないんだよ。
だから本来のプログラミングを学べば、他言語に関しては文法を覚えるだけになる。
小説で言えば、伏線の張り方や殺人のトリックにこだわるべきであって、
それを日本語で書くか英語で書くかというだけの話だ。
ところがお前らは小説について日本語ガー英語ガーとしかやってないから駄目なんだ。
シングルトンが糞なのであって、どのstaticを使っても糞は糞だよ。
文法の話ではない。構造/構成の話だ。
分かるようにとどめを刺しておくと、珍妙カラクリである限り糞だ。
なお個人的には関数内static(local staticと表記されるようだ)は禁止でいいと思うが、
googleもいまいち歯切れが悪いのは、google内でも揉めているのだろう。
あれは要するにグローバルなクラスが出来るだけだから、名前空間/クラス文法があるC++で使う意味はない。 関数内static
と
クラス内static、グローバルなstatic
では
使い勝手が全然違うから同じではないんだよ
どのstaticを使っても糞って言うのも意味不明で
プログラム中に一つだけ存在するものだってあるだろうよ
C++的には関数内staticで書くのが慣例
そんなことも知らないで5chでベテランぶって長文って、終わってるよ
>なお個人的には関数内static(local staticと表記されるようだ)は禁止でいいと思うが、
↑アホ >>669
まあお前がそう思うならそれでいい。
ただ、お前はプログラミングに向いてないから止めた方がいい。
事実として認識すべきなのは、初心者でも>>553のように「意味」から入れる奴は居て、
その連中はそもそも自然に「スタティック」で通じている、ということ。
そしてお前はそうではない、ということ。
これは結局、「抽象思考」出来るかどうかであり、出来ない奴=お前はプログラミングに向いてないだけ。
こればっかりは俺も対策の仕方が分からない。
一つ確実に言えることは、>>553は努力してその境地に達したのではなく、単に最初から出来るだけ。
そしてお前はそうではない、ということ。だから、向いてない。
大して違いはないんだよ。だから同じ static というキーワードで処理されている。
お前はそれを別物として覚えるタイプだ。それは記憶型であり、プログラミングには向かない。
これらは同じキーワードで記述出来ることが自然だ、と思えるタイプが抽象思考型であり、
プログラマとして大成出来る奴は全員このタイプだ。
だからこそ、プログラミング言語はこういう感じな訳でさ。
お前にとっては分かりづらい世界なのだろうけど。
デザインパターンの問題はここで、
記憶型=プログラマとしては無能な奴に一縷の望みを与えており、結果、
彼等は他にすがる物がないから記憶量で勝負しようとしてパターンを覚えてキリッしたがってしまう。
それで良いコードが書けるのならよいが、そもそも無能な奴がパターンを覚えたところで無能に毛が生えた程度だ。
だから俺は何度も「デザインパターンを極めているつもりの奴はかかってこい、粉砕してやる」
と言っているわけでさ。あれは過度にありがたがるものではない。
向き不向きはあるんだよ。プログラミングも、無理してまでやるものではない。
おそらく高校物理で落ちこぼれになるか自然と優等生になるかと相似する。
高校物理も、出来る奴は努力したわけではなく最初から出来るし、無理な奴は努力しても無理なんだ。
それは記憶で対処しようとするからなんだけど、これを具体的に指摘しても修正は不可能なんだよ。
無意識領域の動作だから、対応出来る奴の方が少ない。 >>659
根本的に間違えてるぞ
お前に文句のあるヤツがここに来るんだ
文句のないヤツはとっくに移動している
たまにスレタイ見て紛れ込んでくる可哀想な被害者たちには誘導してやってくれないか
なおプログラミングに向き不向きがあるのは同意する
俺は向いてないわ >>671
当たり屋かよ。しかし奇妙なほどに従順だな。
> たまにスレタイ見て紛れ込んでくる可哀想な被害者たちには誘導してやってくれないか
知るかよ。お前がやれよ。
俺が誘導に反対しないことは約束するし、実際に反対した試しもないはずだ。
そもそも話したいことが異なるから棲み分けしようとしているのであって、反対する理由もない。
文法/仕様についてはお前らの方が詳しいだろうし、お前らの話題は全部これなんだから、
お前らの本スレで全部済むはずだ。 > 文句を言われながらいちいち教えてやる意味はないから当然止める。
ああやめろ
おまえ自分の言ったことちゃんと実行しろよ
どうせ三日坊主で我慢できなくなってしゃしゃり出てくると思ったらやっぱりそうだな >>673
数字も数えられないお前もプログラミングを止めた方がいいと思うぞ
ただそれ以前に、既に言ったが、
お前らは>>422が良いか悪いか、自信を持って言えないんだろ?批判されるのが怖くて
その程度なのに格好付けてイキっているから駄目なんだよ >>674
お前は何かとあるとすぐプログラマーやめろだな
指導者には向いてないな
にも関わらず何かを教えたがる
しかも相手が知らないと決めつけて
俺からするとお前指導者向いてないわ
人に何かを教えたがるのやめた方がいい
ハッキリと向いてないと分かる
でもやめないだろ?
だからもう、プログラミング辞めろとか寂しいこと言うなよ
これだけ言っても分からないなら、お前人間向いてないわ おっと、>>422についてのコメントを求められてたな
俺自身はオブジェクト指向ではないと思うが、オブジェクト指向との関係は密接にある実装だと思うね
似たようなコードの例を挙げるなら、例外クラスだ
Exceptionクラスにほぼ全てを書いて、FileNotFoundExceptionやValueErrorExceptionは継承して何も書かない
使い方もメッセージを投げるだけなので良く似ている
では例外はオブジェクト指向の一部か?と言われると答えはNoだ >>675
実際おまえは何も知らない癖にイキってるだけだろ。
話の流れからして2重mutexなんてまるで思いつきもしなかったのを必死で繕ってる。
それが間違いなんだよ。性格的にプログラマに向いてない。
そもそもお前の性格で匿名掲示板を使うのが間違っている。
お前が繕う理由は何よ?
他の連中はあっけらかんとしてるし、俺がズバズバ言っても別に、って感じだろ。
>>555とかテヘペロだが、それを恥ずかしがってもないだろ。
俺みたいにコテハンレベルまでキャラが立っているならともかく、
1週間でワッチョイも消えるここで格好付ける必要なんて無いだろ。
そしてそんな性格だと一生、GitHubでソースを公開するなんて怖くて出来ないだろ。
実際のプログラマは逆で、OSSでソースを公開しまくってる。
当然技術レベルも丸わかりだ。この意味では、精神的ヌーディストだ。
ただ、それがプログラマという人種だ。そうなれないのなら、向いてないんだよ根本的に。
優しく言ってくれ、というだけなら、それもプログラマに向いてない。
プログラミングは自己完結してる奴じゃないと上達しない。
>>635とかは完全に自己完結してて暴走してるだろ。この「自己完結の暴走」が上達には重要なんだ。
ただ、こいつは方向性がおかしすぎるから、修正してみただけ。
ちっとこの糞女は生真面目すぎる気もするが、正しい方向に暴走出来るのなら大化けする可能性はある。
> だからもう、プログラミング辞めろとか寂しいこと言うなよ
効いてる宣言かよ。お前は5chがどういうところか分かってねえな。
優しく言って欲しければteratailみたいな固定ID制のところに行くべきだ。
俺は向いてない奴に向いてないと言ってるだけ。見解は間違っているかもしれないが、嘘はついてない。
固定ID制で、嫌われるのを恐れて、向いてない奴にも向いているとうそぶく方が問題だと俺は考えている。
そしてこういう価値観の奴が集うのが本来の匿名掲示板だ。
嘘を優しく言う方が正しいと思うなら最初からteratailに行けよドアホ。
マジな話、お前はプログラマを辞めた方が幸せになれると思うぞ。いろんな観点から見て。 >>676
そんなこと聞いてないわ馬鹿タレ。
>>422が良コードか糞コードか、糞コードと思うなら422よりもマシなコードを出せ、だよ。
そしてそれをお前ら同士でやり合えば切磋琢磨してお前ら同士で上達して行ける、
だからそれをやれ、と言っている。
ただそれについては俺はもう回答しないぞ。
>>673も再度駄目押ししてきたし、お前も
> たまにスレタイ見て紛れ込んでくる可哀想な被害者たちには誘導してやってくれないか
と来ている。お前ら自身もその意味は分かってるんだろうが、俺も駄目押ししておいてやる。
そもそもどっちに投稿するかは投稿者の自由だ。
俺がこっちにいて、本スレには投稿しないということも知っていて、
それでもなおこっちに投稿するのは、俺に対する賛成票だ。
それは俺の投稿の質の方がお前らゴミ>>673>>676より上だとその投稿者が判断した、ということだ。
だからお前らはこのスレが流れてくれては困る。それで671,673の投稿になる。
まあ頑張って本スレ盛り上げとけ。
それでもこのスレが流れるようなら、俺の投稿の方が総合的に見て上だということでしかない。
その時はちゃんと負けを認めろ。
ただマジな話、お前らはコードの善し悪しを議論出来るレベルにない。
だからまずはコードをガシガシ書いた方がいい。
そして議論するならお前らの糞コードではなく、まともなOSSでやるべきだ。
だから>>572のコードを読んで「ここはこうした方がこういうメリットがあると思うが、どうか」
みたいな議論については受け付ける、と言ったんだよ。
ただまあ、お前ら671,673からは受け付けない。お前らは俺には何も言って欲しくないんだろ?
>>676とか書いてて、お前自身は惨めじゃないのかよ?喧嘩売るならちゃんと売り続けろよドアホ。 >>674
数字? おまえまさか、三日坊主の他に四日坊主とか五日坊主があるとでも思っているのか?
日本語学校にそういうジョークを言うやつがいたんだろうけど、おまえ騙されてるぞwww ゴチャゴチャうるせえんだよ
自分の言ったことができねえゴミが
嘘つきを指摘されて逆ギレしてんじゃねえ
とっとと失せろ >>677
お前本当にアホだな
二重のmutexなんて古くから使い古された技術を、お前が言うところの記憶型の俺が知らない訳ないだろw
誰でも知ってる技術を、どうだお前知らなかっただろうと言ってる姿が滑稽だと言ったんだ > どうだお前知らなかっただろうと言ってる姿が滑稽
その昔、いたね
そういう芸風のコメディアンw 長文にする必要ないのに長文にするってのは
頭が悪くて纏める力がない証拠
彼の書くコードもこんな感じなんだろうな もう一度書いておくか
>なお個人的には関数内static(local staticと表記されるようだ)は禁止でいいと思うが、
これだけでアホってわかる >OSSでソースを公開しまくってる。
>当然技術レベルも丸わかりだ。この意味では、精神的ヌーディストだ。
面白いなw
なんで自分がコード公開を好きではないのか
技術レベル以外の理由が解った気がする
最近はgplじゃなくてmitとかそれ系統が増えて安心している だいたい普通にプログラム書いてたら関数内static変数は結構使うはずなのに
それを要らないって言うのはまともにプログラム書いてない証拠
書く量が足りてない赤ん坊 関数内staticの暗黙の排他はc++っぽくないと思うわ
バカに合わせる必要ないのに そこ対応しないと関数内static自体がmultithreadが普通の今だと、安全に使えない盲腸仕様になってしまうだろ。
templateとか絡めると、同期用のオブジェクト自体のふさわしい置き場が関数内static以外無くなることも有るのだからね >>681
それだからお前はその程度なのだ。
お前は脳も性格もプログラマに向いてない。
お前はプログラマを辞めた方が、お前自身も、周りの人も、救われると思うぞ。
お前は「排他制御の忘れを、敢えて排他制御していないシングルトン上で競合させることにより落とす。
これでヒューマンエラーを低減させる(キリッ」したようだが、それが間違いだ。
俺なら「排他制御の忘れを、排他制御忘れの検出機構により検出する」だけ。
そして実装例としてその場で2重mutexを思いついて書いただけ。頻出パターンでは当然ない。
お前のコードは全部珍妙カラクリオナニー集なんだよ。
周りの奴は、お前なんて死んでくれねえかなと思ってると思うぞまじで。
ちなみに2重mutexが頻出パターンではないことは客観的に言える。
コードが「絶対に通過しないパス」を含んでしまうだろ。それがアウトだから。
それすら気づけず一生懸命、し、知ってたし、と繕うのだからアホすぎる。
ただまあ、これはもういい。知ってた/知らないは大した問題ではない。
お前の言うとおり、パターンとして記憶し、今後はそう実装するのもありだ。
問題は、既に言ったとおり、お前のコードは全部珍妙カラクリオナニーな事だ。
○○をやりたいのなら、○○をやるようにコードを組むべきであって、
○○をしたいから△△を造って□□する、みたいなコードは駄目なんだよ。
お前はそれをやってしまっている。(そしてデザインパターンも全部これだから糞だ)
適切な実装を思いつけなかったのなら上司に相談すればよかっただけの話なんだよ。
相談する勇気がなかったから上達の機会を失ってしまっている。
ついでに言うと、上記の通り、2重mutexなんて俺の思いつきでしかない。
だから、「そんな実装は糞だ。俺ならこう」という突っ張り合いはありなんだよ。
それならここで切磋琢磨出来るだろ。お前らはこの「有効な上方向への競争」ではなく、
韓国人と同レベルの「悪口の言い合い」しかできなくなってる。だからゆとりは駄目なんだ。
そしてさとりはまだ素朴にあっけらかんとしているし、こういう糞な展開も見慣れており、
ある意味俺ら前世代より冷静に対処出来ている。だから俺は救済しようとしているわけでさ。 >>687
> だいたい普通にプログラム書いてたら関数内static変数は結構使うはずなのに
まともなOSSで関数内staticを有効に使いまくっている例があればソースコード提示よろしく。
10,.000行程度なら読むから。
なおシングルトン以外で頼む。 匿名性掲示板の限界。
信頼関係も何も無いとこうなる。
実績や学歴、何をしたいと思っているかなどが分かれば見方も変わるのにそれが
出来ないからトラブルになる。
例えば、C++の書籍を書こうと思ってる人なら実際問題余り使わないような
些細なC++の仕様を知る必要が有る。だから、templateやリストの初期化の
仕方などを細かく知ろうとしても馬鹿なわけではない。 同じ文章や言葉でも プログラミング自体の初心者なのか、C++の仕様を知らない
だけで百戦錬磨の Cのベテランなのか、BASIC言語では凄く良いプログラムを
書いた人なのか、プログラミング経験は少ないが、コンピュータサイエンスの
博士論文を書こうとしている人、プログラムはしないSE、
組み込みやゲームなどに関心が有る人、
などの違いで意味は全く変わってくる。
そういう情報が無いから相手に対して失礼なことを言ってしまって話が噛み合わ
なくなり炎上のひとつの原因となりえると思う。 >>694
いいんじゃない?
炎上、傍からみてると面白いし… >>693
限界と言って諦めるのは簡単だ。ただ俺はそれを突破しようとしている。
例えば、俺は一々理由を述べているだろ。
結果、お前らは理由を読み、納得出来れば採用、そうでなければ無視できる。
読者側に選択の余地を与えている。そして本来は俺の技術レベルも読みとれる。
或いは、突っ張り合いでも、上方向の競争になるように誘導しているだろ。
問題はお前らの大半がコミュ障過ぎてこれを理解出来ないことだが。
ただし>>572は明確に上方向の競争を誘っている。これは正しい匿名掲示板の使い方だ。
そのターゲットはまさに俺に対して今文句を言っているゴミ共だが、こいつらは勿論対応出来てないだろ。
結局、こういう事の積み重ねで差が付くんだよ。
匿名掲示板に信頼関係なんて不要だ。
というか、それが欲しければteratailやredditみたいな固定ID制の所に行くべきだ。
そこでは過去の全発言を掘れるから、信頼関係が必要なら安心出来るだろう。
或いは、○○に勤めている大先生、という肩書きが必要なら同様にFaceBookに行くべきだ。
匿名掲示板では、己が何者か、己の書き込みだけで証明する必要がある。
だから、思考をきっちり書き下せ、また、記述内容から相手を読みとれないと無理だ。
国語力も、コミュ力も、技術力も要る。
お前らは技術レベルが低すぎて、俺の意見が嘘なのか間違いなのか正しいのか、判定出来ないだろ。
そもそもその程度の奴が匿名掲示板に来てる時点で根本的に間違ってる。
「先生」が必要な程度なら、最低限、固定IDの所に行くべきだ。
もしお前が本を書く為に>>635等を調べていたのなら、本を書くのを止めろ。
お前程度の馬鹿に書かれた本はミスリードのオンパレードで、迷惑でしかない。
>>694
だから何だ?お前は相手の肩書きによって意見を変えるのか?
匿名なのだから、相手が言った意見に対してのみフォーカスすればいいだけだ。
自称「大先生」なら、そうだと分かる技術的に高い書き込みをすれば済む話だ。 >>696
>自称「大先生」なら、そうだと分かる技術的に高い書き込みをすれば済む話だ。
ところが、ものごとは意外で、実は凄い内容を書いていても、ほとんどの
人には一見馬鹿に見える事が有る。例え一流のエンジニアや科学者であっても
上には上がいるので勘違いが入る。 >>697
ここではそれは「偏差値が○○違ったら話が通じない」と「常識」として語られてるだろ。
そんな当たり前のことを持ち出して、お前は何が言いたいんだ?
さっさと結論を言え。 一番話の長いやつがさっさと結論を言えとか
ナイスジョークw >>696
>お前らは技術レベルが低すぎて、俺の意見が嘘なのか間違いなのか正しいのか、判定出来ないだろ。
科学もエンジニアリングの本質はそのようなおしゃべり的な言葉では決まりません。
実績か、プログラムそのものか、証明などの論証、論文などで決まります。
正直あなたの発言からは、あなたが自分が優秀であると思い込んでいることは分かっても、
優秀であることは全く見えてきません。 >>700
ならそれでいい。それがお前の判断なのだから。 > 文句を言われながらいちいち教えてやる意味はないから当然止める。
ああやめろ
おまえ自分の言ったことちゃんと実行しろよ
いい加減にしろ
自制心なさすぎたボケ >>691
2重のmutexはお前が嫌うどっかの誰かが考えた典型的手法の1つだよ
お前が自力で思いつくことは既に誰かがやっていて、お前の嫌いなパターン化がされているんだ
自分で白状しているように非同期処理についてど素人であることは検討がついていた
なぜならシングルトンに非同期処理を入れた場合のデメリットに全く言及していないからだ
少しでも知っている輩なら、シングルトンに非同期処理を入れると頻繁にロックが発生しパフォーマンスが落ちることを真っ先に指摘する
同じ話で、お前がハードウェアに対してど素人であることも、またそれなりの大きなチーム開発を経験したことがないことも分かる
知らないことや経験がないことは恥ずかしいことではないが、ど素人が経験もないのに講釈を垂れるのは極めて恥ずかしいということは覚えておいて損はないだろう 何でも有りなのが2chの良い所
罵り合いを読んでて自分は気付く事が有る時が時折有る
相手を叩き潰しやると思ってる人は全力で来る
だから中身が全部出てくる
それに応戦した人も結構中身を出してくる
その時に自分が気付いていなかった事に気付く事が有る
他にこんな場所は無い
自分の中の疑問がハッキリしない時に意外と役に立つ
お行儀良くやってると
何か隠していたりオブラートが厚すぎて良く解らない事も有るし
お行儀良くやりたいなら他に行けば良いのだし >>705
うふふ、そこが 2ch のいいところですね
でも、私は、この方法、いわゆる「炎上学習法」をやりすぎてしまったのが、ちと問題になってきています… >>707
一応、ちゃんと動くコードを示す、式変形も示す、無茶苦茶無理筋はいわない、負けは認める、とか最低ラインを設定しているつもりなんですけれどもこのコテに警戒する人が多くなってしまいました…
しかしと私が数学が苦手であることをきちんと明示しておけば数学の先生にも相手していただいたこともあり、割合に 2ch は使える場所だと今でもおもっています >>704
日本語が通じない馬鹿韓国人はお前だったか。
まあそれで反論できたつもりならそれでいいのでは。
とにかく、お前は今すぐにでもプログラマを辞めるべきだ。周りの人の為にも。
そして何度も言っているが、馬鹿共は本スレに行け。
そして馬鹿韓国人>>704、お前はちゃんと誘導を一々貼れ。お前自身が望んだことだろ。
C++相談室 part145
https://mevius.5ch.net/test/read.cgi/tech/1568362404/ ところで、いい機会だから、
「ゆとり」と「さとり」の違い、
および何故「ゆとり」と「韓国人」は殲滅されなければならないかを述べよう。
>>671と>>673は典型的「ゆとり」だ。そして>>693は典型的「さとり」だ。
一応言っておくが、本人の肉体年齢は大した問題ではない。
精神的に「ゆとり」「さとり」世代のどちらか、ということだ。
そして俺が出している結論は、以下だ。
・ゆとりは殲滅すべき ← 破壊工作を行うから、ネット上では特に酷い
・韓国人も殲滅すべき ← 日本語および論理が通じないから
・さとりは救済可能 ← こいつらは若すぎて分かってないだけだから
「ゆとり」と「韓国人」が居なくなれば匿名掲示板もずいぶん快適になるはずだ。
俺はそれを目指している。
だから「ゆとり」と「韓国人」は殲滅対象であり、こいつらにエサは与えない。
これに対して「さとり」は救済対象であり、むしろ味方に付ける為にエサを与えようとしている。 典型的な違いは以下だ。
「ゆとり」 >>671,673
・長文が読めない
・気に入らないことに関しては、破壊工作を行う
・ネットでは何でも許されると勘違いしている
・上級者/先輩に対するリスペクトが全くない
・論理が稚拙で、韓国人と同レベルの知能しかない
・相手の意見は聞かない、連呼リアンと同レベルの声闘をする
・デジタルネイティブの誇り(キリッみたいなのがあって、ネットを知っているつもりらしい
・粘着質
「さとり」 >>693
・長文耐性がある、というか長文に対する文句は皆無で、むしろ糞長くても全部読んでくるからビビる
・ネットは糞なものだと捉えている。まあそれ以前の状況を知らないのだから当たり前だが
・ネット上の態度は、諦め気味だが抑制は利いており、場を破壊するようなことはしない
・上級者/先輩に対する適切なリスペクトはある。むしろ旧世代の先輩=神みたいな馬鹿共の方が問題
・従って上目の者に対しても普通に平気で反対意見を述べる。そして一応論理的
・意見は少なくとも聞くだけは聞く。ただし割とスルーする
・非粘着質。糞サイトか、次行こー的に軽い
つまり「さとり」は本来「匿名掲示板」と相性がいい。
それが上手く出来ないのは「さとり」が使い方を分かってないからだ。だから教えてやる。
まず>>693、お前はこれが「荒れていて問題」だと捉えているわけだが、これが間違いだ。
匿名掲示板ではこの程度は平常運転、喧喧囂囂でしかない。慣れろ。
実際、「ゆとり」の書き込みを除けば、割とまともだろ。正しい方向に流そうとしている奴は、俺以外にもいる。 お前の問題は、>>700に現れているが、「学校」の癖を「匿名掲示板」に持ち込んでいることだ。
「先生」は「優秀」でなければならず、その「優秀な人」の意見は自分と異なっていても聞く、という態度だ。
だからお前は俺が「先生」足り得るかを確認しようとする。これが間違いだ。
匿名掲示板は学校ではない。つまり、大方正しいことを言っていると期待される「先生」はいない。
ここは現実で言えばディベートではなくパネルディスカッションであり、
自分でどの意見がもっとも妥当かを考えて選び取らなければならない。
或いは電車の中で小耳に挟んだ情報であり、情報の真偽は自分で確かめる必要がある。
もう一度言うが、「正しい意見」がもらえる場所ではなく、どれがもっとも正しいかを「自分で選び取る」場所だ。
よって誰が言ったかは全く関係ない。
典型的な「正しい匿名掲示板上の態度」は>>686だ。
元々ぼんやり持っていた疑問が、ああなるほどそう言われればそうだな、と解消してる。
「俺が」言ったか、「熟練者」が言ったか、「初心者」が言ったか、なんてのは全く気にしてない。
「言われてみればそうだ」だけだ。
つまり、意見だけにフォーカスし、それを自身で正しいと判定している。
分かるか?
匿名掲示板上で提供されるのは、「正解かもしれない何か」であり「正解」ではない。
そしてどれが「正解」かはお前自身が考えて選び取る必要がある。
だからパネルディスカッションのように、それについての俺の意見はこうこう、なぜなら云々、というのが基本ラインになる。
逆に言えば、このフォーマットに沿ってない連中は議論の仕方を知らない馬鹿であり、無視していい。 お前に関しての修正点は、もっと堂々としろ、ということろか。お前は抑制しすぎだ。
>>607とか最終的に何が言いたいのかよく分からんことになっている。
そもそも「匿名」なのだから、お前が初心者であっても堂々と意見を述べればいい。
そしてそれがアホな意見ならそれなりに叩かれる、それだけの話だ。
意見を述べることに躊躇する必要はない。
それをお前は場を乱してはいけない、と思っているのか、中途半端に押さえている。
>>700なんて典型的にそうだ。>>697の時点で700を投稿出来ない理由がないだろ。
あれは697に一発で投稿されるべき内容で、逆にそうじゃないと話が間延びしてリズムを失ってしまう。
そしてお前が辛辣だと思っていることなんてここではそよ風程度だから、躊躇する必要なんて無い。
実際、「低学歴は黙れ」というセリフを東大卒が言うのか幼稚園児が言うのかでは、意味あいは異なってくるだろ。
お前は幼稚園児でしかないのだから、それを利用して、ここでは思ったことはズバズバ言えばいいだけなんだよ。
そこで>>607に話を戻すと、俺の意見は既に言ったとおりだが、再度纏めると、
どうせお前が使い物になる5年後には「C++23以降しかC++とは認めない(キリッ」や
「エーマジキモーイ、C++17が許されるのは老害までだよねー」とかいう輩が出てくるから、
今から学ぶ連中は基本的に最新環境から開始しろ、だ。
これが「俺」「熟練者」「初心者」によって発せられた意見かどうかではなく、
この「意見」そのものが妥当かどうかをお前が判定するんだ。
だから、全てに於いて、「お前がそう判断するのなら、それでいい」であり、そうにしかならないんだよ。
分かるか?
電車の中で会話が聞こえてきた、程度の確度の情報であり、それが妥当かどうかは自分で判断するんだ。
「誰が言ったか」は関係ない。それが自分にとって納得出来るか、だ。 学校というのは何も知らない子供達の為に「先生」という正しく導く存在を置き、
「先生の言うことは正しい」として学習効率を上げている。これはこれでよく考えられたシステムだ。
それは刑事罰に処されるような事柄から教えなければならない小中学校レベルでは素晴らしく機能する。
ところが、社会人レベルになってきて、何が正しいのかなんて分からない世界では、全く機能しなくなってくる。
だから資本主義は別の成長モデルを使っている。典型的にはフォークだ。
つまり、お前は法に触れない限り何をしてもいい、そしてそれが正しかったかどうかは結果で判定される、だ。
新商品を開発して自由に売っていい。自社で出来ないのなら会社を興してもいい。
売れれば儲かり、その商品は結果的に正しいとされる。
売れなければお前の判断は間違っていた、とされる。
非常に分かりやすく、シンプルなシステムだ。
OSSも同様で、いくらでもフォークしてよく、新機能追加も自由に出来るだろ。
それが売れたり使われたりすれば正しかったとされ、誰も興味なければそれまで、というだけの話だ。
だからフォークは基本的な成長モデルであり、フォークを阻害するのは反社会行動なんだよ。
そしてゆとりはそれを臆面もなくやる。だからこいつらは殲滅されなければならない。つまりゆとりは反社会だからだ。
これも何度も言っているが、俺は「フォーク」をしているだけだ。
つまり、現状の「本スレ」をそのまま残したまま、「俺がいる」点だけが違うスレに(結果的に)フォークしたのがここだ。
それでどっちが正しいか、結果で判定しよう、というわけだ。
(そろそろ連投制限にかかりそうだから尻切れならそう思ってくれ) ところがゆとりは
・ぼくのきにいらないもののそんざいはみとめない!みとめたくない!
という価値観であり、フォーク先が上手く回り出したら必ず潰しに来る。典型的には>>671だ。
このスレを無視すればいいだけの話だが、それで自分が結果的に置き去りにされるのが怖くて、必ず潰そうとする。
ところが全ゆとり的に賛成される物が存在するはずもないから、結果的にゆとりはありとあらゆる物を潰し合いしている。
そしてその結果が今だ。
これだけ価値観が異なるゆとりが、
前世代の巣窟であり、ゆとり的に居心地がいいはずもない5chに来なければならない理由は、
ゆとり自身が潰し合いしてゆとり的に居心地がいい場所がなくなってしまっているからだ。
こいつらは本当に救いようがない。
お前らゆとりは、フォークを潰すのは反社会だ、とまず認識しなければならない。
(フォークを無視するのは自由だが、フォーク自体をさせない/邪魔をするようなことはしてはいけない)
そしてさとりは、上記のように、ゆとりが反社会なクズだということを認識しておく必要がある。
どうやってもさとりの上司がゆとりになることは避けられない。
おそらく無駄にねちねち虐められる事になる。
それは上手く回避して、可能であれば転職して元居た会社を結果的に潰すとかして反攻していくしかない。
なかなかに大変なことだが、ゆとりの存在は現在の日本が抱える問題でもあるんだよ。
実際、>>704なんて酷いだろ。
パターン化されているかどうかなんて本筋に関係ないし、非同期と排他は別物なのに混同して連呼しまくりだ。
おそらく覚えたての単語で最高にイキってマウントを取っているつもりなのだろう。
ただこれが、典型的なゆとりであるのもまた事実で、ここから目を逸らすのもまた、間違いだ。 再度言うが、俺は邪魔しかしない「ゆとり」「韓国人」が居なければ匿名掲示板も上手く回るはず、と踏んでいる。
だから手始めにまずフォークだ。
俺の書き込みが嫌いな奴は来なければいいだけ、勿論俺は本スレには投稿しない。
よってここで俺の存在について文句を言うのは筋違いだ、というわけだが、この論理がゆとりには通じない。
そしてフォーク自体を潰そうとするわけだが、これが反社会行動だということに気づく知能すらない。
だから俺は「ゆとり」「韓国人」を強制的に排除出来るシステムを今実装中だ。
そしてそれが稼働し始めたら、「『ゆとり』と『韓国人』に邪魔されない匿名掲示板」が出来上がり、
そこにフォークして勝負だ。
といっても準備にまだ数年かかるし、そもそも俺だけでは無理だから賛同者を募る必要がある。
俺が一々こういう事を書いているのは種まきであり、つまりお前らが賛同するなら参加しろ、というわけだ。
そもそも「反対意見」と「文句」は違うのだが、ゆとりにはそれも分からない。
そして>>700、それは「反対意見=私はそうは思わない」であり「文句=邪魔してやる」ではないので、
堂々と言えばいいだけなんだよ。(こいつもだが、割とさとりはこれはきっちり出来る、ただ抑制しているだけで)
それで切れる奴もゴミだから無視でいい。
ただ、お前の問題は、そもそも着眼点がズレまくっていることだ。
お前はまず、ここが「匿名掲示板」であり「学校」ではないことから認識しなければならない。詳細は上記の通り。 ■ このスレッドは過去ログ倉庫に格納されています