[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 04/25 06:12 / Filesize : 214 KB / Number-of Response : 1028
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C++相談室 part147



1 名前:デフォルトの名無しさん mailto:sage [2019/12/18(水) 17:56:53.03 ID:uFDqtnkl.net]
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。

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

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

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

STLつかうと一気に実行ファイルサイズが10倍に?!

環境によるだろ。
俺はBorland-C++5.6.2に -D_RTLDLL オプションを指定して、極力
ランタイムを使用するようにして使っているが、例えばstd::vectorを
使っても使わない時と比べ10Kほどしか増えない

すげえ。ダイナミックリンクしといてファイルサイズが増えないとかいってるよ。この人。

↑え?だってお前、普通ダイナミックリンクするだろ?
"ダイナミックリンク"す・れ・ば、ファイルサイズ**増えないです**

796 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 20:40:10.44 ID:loc7kxiY.net]
お前の都合のいい解釈(プリプロセス時ではなく型の文脈の問題までマクロでどうにかしていたのをtypedefやテンプレートに置き換える)を
そもそもダブスタとは言ってないんで貫くと取ってもらっていいが
それより>>759-760に対する回答はまだなの?

797 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 20:43:00.84 ID:loc7kxiY.net]
>>771
メタプログラミングとして見るとやってることは一緒なんだが
言語としての出来不出来は別として(個人的には>>735に同意

798 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 20:46:23.65 ID:yXTxN+fl.net]
C言語にこそ、UnifideCallSyntax必要だと思うのだけど、入らないかねー。
関数オーバーロードと一緒に入ったらクラスなんかいらねっ。

799 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 20:47:29.34 ID:hLglXOws.net]
c++の専門家の皆さんに質問ですが

using F = int(int)

のように 戻りの型(引数の型) の形式で関数型を書けるようになったのってどのc++からなの?
あとこれを書ける場所ってusingとtemplate以外にある?

800 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 20:50:40.79 ID:VrR0aqw1.net]
>>773
> プリプロセス時ではなく型の文脈の問題までマクロでどうにかしていた

プリプロセス以外でマクロでどうにかするって意味がわからない
よって「ダブスタとは言ってない」の意味も俺には(おそらく、ここの誰にも)通じてない

744のダブスタ発言をおまえさんは貫くのか撤回するのか
立場を明らかにせよ

801 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 20:58:53.64 ID:loc7kxiY.net]
相手に嫌な思いをさせたいだけの議論は辞めろ気持ち悪い
プリプロセス時の問題に遭遇したことが無いのならお前の方が資質に欠けるし経験も足りてない
>>734の言うことも俺の言う事もそら理解出来んだろう
話にならんよ

802 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 21:03:26.54 ID:BKKks8j/.net]
c++11以降において「マクロをリッチにする」ってことの代替が
テンプレート、constexpr をリッチにするって方向だろう。
正しい方向だとは思わんが、方向性なり答えはうちだしてはいる。

803 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 21:11:06.46 ID:loc7kxiY.net]
それはそれとしてプリプロセス時プログラミングもやりやすくして欲しいってだけのことだよ
(現実的に叶うとは思ってないが)

804 名前:デフォルトの名無しさん [2020/01/26(日) 21:11:40.73 ID:Yuet6lAk.net]
ワロリン。



805 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 21:18:05.50 ID:6ZE6/BGT.net]
Qtみたいに独自のプリプロセッサ作ればいいのでは

806 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 21:19:49.89 ID:hLglXOws.net]
c++の専門家の皆さま教えて下さい

auto a = +[](int b) { return b;};

このaの型は何ですか?
困っているので秒速でお願いします

807 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 21:36:53.40 ID:VrR0aqw1.net]
>>778
間違いを認めることができない未熟者には
嫌な思いからも学ぶべき教訓があるんだよ

やめてくれえ、気持ち悪いいい、それで?
命令口調では許してやらんぞ

808 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 21:37:51.54 ID:VrR0aqw1.net]
私事ですまんが
明日早いんでそろそろ失礼する

809 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 21:39:54.66 ID:loc7kxiY.net]
ワロタ

810 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 21:46:54.67 ID:VrR0aqw1.net]
よかったなw

811 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 21:54:18.57 ID:loc7kxiY.net]
まともな反論できんのならはよ寝ろ

812 名前:蟻人間 ◆T6xkBnTXz7B0 mailto:sage [2020/01/26(日) 21:59:37 ID:TOQ25Lx5.net]
>>783 int型。

---
君たちひまそうだね。暇だったら、こっちのソースでも見てくれないか?
https://github.com/katahiromz/ImagePocke/blob/master/ImagePocke.cpp

C++/Win32で書いてるんだけど

813 名前:B
ここからドロップした画像ファイルを表示可能にする予定。
画像読み込みにGDI+を使う予定。
[]
[ここ壊れてます]

814 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 22:27:38 ID:hLglXOws.net]
静かになったなw

>>789
関数ポインタ
ttps://wandbox.org/permlink/zLH8pFOt3tLJhujk



815 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 22:46:48.37 ID:Pq6RurGB.net]
ラムダに+をつけると関数ポインタになるなんてcppreferenceにもないけど常識なの?

816 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 22:55:11.25 ID:hLglXOws.net]
そうなんだよね
この仕様がどこで決められてるものかがよくわからない
ぐぐったら
ttps://stackoverflow.com/questions/18889028/a-positive-lambda-what-sorcery-is-this
というのが見つかってなんか built-in overload らしいんだけど
結局のところ関数オブジェクトに対する仕様がどこに書かれているのかよくわからない
でもわりとよく使ってる

817 名前:はちみつ餃子 mailto:sage [2020/01/26(日) 23:01:50.07 ID:zFvDGbzt.net]
>>791
・ キャプチャしている変数がないクロージャは関数ポインタに変換可能であり、関数ポインタが必要なところでは暗黙に型変換される
・ クロージャに単項 + を適用することはできない (ので関数ポインタに型変換してから解釈される)

という合わせ技によって関数ポインタになる。
(キャプチャしてる変数があるときは変換できないよ)

818 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 23:05:52.70 ID:Pq6RurGB.net]
関数オブジェクトには関数ポインタへの暗黙の変換が存在して
operator+(T*)がそれ自身を返すからということね

819 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 23:09:35.82 ID:hLglXOws.net]
まじで?
たまたまできるってことなのか
なんか今後使うのためらうわw

820 名前:はちみつ餃子 mailto:sage [2020/01/26(日) 23:11:17.20 ID:zFvDGbzt.net]
>>795
専用の、クロージャをポインタに変換する機能というわけではないという意味ではたまたまだけど、
ちゃんと保証された動作なのでためらわなくていいと思うなぁ。

821 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 23:14:39.96 ID:hLglXOws.net]
>>796
もし今後関数オブジェクトに他の暗黙変換が追加されたらって考えると気が引ける
まぁ使うんだけどさ

822 名前:デフォルトの名無しさん mailto:sage [2020/01/27(月) 00:17:47 ID:uhXUQTHO.net]
普通に型宣言すればいいだけだよねこれ。

823 名前:デフォルトの名無しさん mailto:sage [2020/01/27(月) 00:18:13 ID:8wq+eSeZ.net]
>>776
実験してないので間違ってるかもしれないが、
(型名)ptr で関数ポインタへキャストする場合、
( int(*)(int) )ptr
と書いても良いが、
( int(int) )ptr
と書いても良かったかも知れない。というのは、
typedef int (*FUNC)(int);
と書いても良いし、
typedef int FUNC(int);
と書いてもよかったり、関数型のポインタ pFunc に対して、
(*pFunc)(123);
と書いても良いし、
pFunc(123);
と書いても良い、とか。

824 名前:デフォルトの名無しさん mailto:sage [2020/01/27(月) 00:19:00 ID:jlvCAhZE.net]
>>776
C89 から関数型の表記としては解釈されるかと。
コンパイルが通る文脈は C++ まで無かったかもしれんけど。
C++ でも今のところ using とテンプレート引数以外では使えなさそう。



825 名前:デフォルトの名無しさん mailto:sage [2020/01/27(月) 00:25:21 ID:8wq+eSeZ.net]
>>799
一部、コンパイラが故意にエラーにする可能性は有るが、
int(*ptr)(int);
は、関数へのポインタ型の変数ptrの宣言。
int(*)(int)
は「関数へのポインタ型」そのもの。
int func(int);
は、関数のプロトタイプ宣言だが、内部処理的には関数型の変数 func を定義しているような
解釈がされた後、関数型の場合の特別な処理として変数ではなくプロトタイプ宣言に特別
処理がされる。そして、
int(int)
は「関数型」そのもの、という解釈になる。
よく見るとこれらに対抗関係が有ることが分かる。
なお、最後のint(int)はコンパイラの内部処理的には関数型そのものだという解釈になるが、
コンパイラがその場合に特別にエラーを出す処理系と出さない処理系があるかもしれない。

826 名前:デフォルトの名無しさん mailto:sage [2020/01/27(月) 00:26:31 ID:8wq+eSeZ.net]
>>801
対抗関係 ---> 対応関係

827 名前:デフォルトの名無しさん mailto:sage [2020/01/27(月) 00:34:47 ID:8wq+eSeZ.net]
>>801
何が言いたかったというと、戻り値(引数型) を解釈する新しい仕様が追加された
というより、数学の数式のようにみたときに一貫した規則に従っていることが
わかるということ。言葉で言えば、
 「定義文に置いて、名前を除去すると型名になる」
という規則。
int func(int);
という定義文に置いて、名前であるのは func。だから、funcを除去した、
int(int)
は、funcの型名になる。名前funcの型は、「関数型」だから、これは関数型
という型名そのものとなる。
int a;
の場合、名前であるのは a で、aの型は、int型。だから、この定義文から
名前を除去した int は、int型ということになる。
int (*pFunc)(int);
の場合も、pFuncという変数の定義文であるが、この定義文における名前とは
pFuncであるので、pFuncを除去したところの
int (*)(int);
は、pFuncの型であるところの、「関数へのポインタ型」となる。

つまり、同じ法則にしたがっている。

828 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2020/01/27(月) 00:36:25 ID:e3ktUGSY.net]
関数型が暗黙に関数ポインタ型に型変換されるルールで引っ掛かってるってことかな?
関数型そのものは C++ が出現した最初から存在すると思うよ。 C にもあるもの。

こういう特殊な変換ルールを強制するために std::decay がある。

829 名前:800 mailto:sage [2020/01/27(月) 01:15:58.29 ID:jlvCAhZE.net]
>>776
typeid で使ってもコンパイル通った。

830 名前:デフォルトの名無しさん mailto:sage [2020/01/27(月) 02:13:11 ID:DIOsR0tc.net]
RustってどれくらいC++に取って代わるんろうか
互換性以外でC++使う意味ない、みたいな時代はくる?

831 名前:デフォルトの名無しさん mailto:sage [2020/01/27(月) 02:15:18 ID:an2yFfMH.net]
Rustの話はRustスレでやれ
布教すんな

832 名前:デフォルトの名無しさん mailto:sage [2020/01/27(月) 06:56:19 ID:EVyt1Wcb.net]
>>783
スマートオブジェ

833 名前:デフォルトの名無しさん mailto:sage [2020/01/27(月) 09:23:59 ID:7jNlWdbx.net]
C++のライブラリはC++からしか使えないから最高なんです
何故ならヘッダという古臭い仕組みを採用しているからww
なおCOMは

834 名前:デフォルトの名無しさん mailto:sage [2020/01/27(月) 09:33:48.52 ID:PH8qw3WE.net]
>>798
そりゃauto使いたいからじゃない
その理屈ならそもそもlambda使わずに普通の関数書けばいいってなる



835 名前:デフォルトの名無しさん mailto:sage [2020/01/27(月) 10:29:36 ID:nw3WJhJD.net]
>>783
[](int b) { return b;}; だけなら明らかにラムダ式の関数ポインタだけど
それをオーバーロードか何かの+で虚無と足し算してんの?

*[](int b) { return b;};
これは掛け算でもするの?

836 名前:デフォルトの名無しさん mailto:sage [2020/01/27(月) 10:44:46 ID:EVyt1Wcb.net]
関数ポインタではない
スマートオブジェクトへのポインタだ
ただの関数ポインタならファンクタとして機能しない

837 名前:デフォルトの名無しさん mailto:sage [2020/01/27(月) 10:54:24 ID:j8/I9hQ5.net]
>>811
単項演算子の+だろ

838 名前:デフォルトの名無しさん mailto:sage [2020/01/27(月) 11:22:15 ID:PH8qw3WE.net]
>>811
はちさんが答え書いてるよ
>>793

839 名前:デフォルトの名無しさん mailto:sage [2020/01/27(月) 15:33:55 ID:LGsyX1lU.net]
ラムダはデリゲートじゃねー。一個しか保持できんわな。
と遅レス。

840 名前:デフォルトの名無しさん mailto:sage [2020/01/27(月) 15:47:35 ID:uUAjQCPR.net]
ステートレスラムダって用語が出てこないんだね
stateless lambda

841 名前:デフォルトの名無しさん mailto:sage [2020/01/27(月) 15:57:13 ID:uUAjQCPR.net]
>>804
template <typename F>
void test(F&&) { cout << 1; }
void test(int(*)()) { cout << 2; }

int func() { return 0; }

int main()
{
test(func); //2
test([]{ return 0; }); //1
}

ステートレスラムダを関数ポインタに渡すのはconversionで
関数を関数ポインタに渡すときのlvalue translationとは違う

842 名前:デフォルトの名無しさん mailto:sage [2020/01/27(月) 16:03:26 ID:uUAjQCPR.net]
lvalue transformationだ、これは失礼

843 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2020/01/27(月) 16:10:02 ID:e3ktUGSY.net]
>>817
おっ。 そうなんや。

844 名前:デフォルトの名無しさん mailto:sage [2020/01/27(月) 16:16:57.88 ID:uUAjQCPR.net]
g++だと、これ通るw
auto closure = []{ return 0; };
using funcp = int(*)();
test(closure.operator funcp());



845 名前:デフォルトの名無しさん mailto:sage [2020/01/27(月) 16:29:40 ID:Xjs2F3Iq.net]
[]の後()不要だっけ?

846 名前:デフォルトの名無しさん mailto:sage [2020/01/27(月) 16:30:47 ID:an2yFfMH.net]
引数がないなら省略可能

847 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2020/01/27(月) 17:56:21 ID:e3ktUGSY.net]
>>814
ワイはどちらかというとはちみつより餃子の方にアイデンティティがあるので…・…

848 名前:デフォルトの名無しさん mailto:sage [2020/01/27(月) 18:43:12 ID:Be1ain3H.net]
>>822
勉強になりました。

849 名前:デフォルトの名無しさん mailto:sage [2020/01/27(月) 19:32:41 ID:EVyt1Wcb.net]
>>81

850 名前:2
×スマートオブジェクトへのポインタだ
○スマートオブジェクトだ
[]
[ここ壊れてます]

851 名前:デフォルトの名無しさん mailto:sage [2020/01/28(火) 09:26:07 ID:ClFSc0Tc.net]
しょうもないシンタックスシュガーの話が好きな奴多いね。

852 名前:デフォルトの名無しさん mailto:sage [2020/01/28(火) 10:18:33.58 ID:iJMYk+LH.net]
gotoおじさんまた登場だよ

853 名前:デフォルトの名無しさん mailto:sage [2020/01/28(火) 10:25:01.77 ID:ciqR13vi.net]
>>827
踊るポンポコリンの「インチキおじさん登場」を思い出した。あんまり間違ってないだろう。

854 名前:デフォルトの名無しさん mailto:sage [2020/01/28(火) 10:44:40 ID:wcDzWZFN.net]
ボコられるの好きなんか? 変態めw



855 名前:デフォルトの名無しさん mailto:sage [2020/01/28(火) 10:49:48 ID:ivYV6JvB.net]
物事は適切に伝えろ
それが出来ないなら口を開けるなカスども

856 名前:デフォルトの名無しさん mailto:sage [2020/01/28(火) 10:52:11 ID:ivYV6JvB.net]
ラムダが関数ポインタとかほざいてるカスが居てびっくりしたわ

857 名前:デフォルトの名無しさん mailto:sage [2020/01/28(火) 11:05:50.35 ID:AXFiEKC0.net]
>>831
インライン展開されるから?

858 名前:デフォルトの名無しさん mailto:sage [2020/01/28(火) 11:12:08.47 ID:tLdUC4IA.net]
>>831
>>783 のこと?

859 名前:デフォルトの名無しさん [2020/01/28(火) 11:23:05 ID:ijxMtirO.net]
個人的にはテンプレートなのに糞のSTLよりも
マクロωのQtの方がうまくやれてる実用的だと思う

860 名前:デフォルトの名無しさん [2020/01/28(火) 11:24:46 ID:ijxMtirO.net]
>>758
typedefに夢観すぎ

861 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2020/01/28(火) 11:30:08 ID:jIEBko3c.net]
まあ個人的な感想は個人的な感想だからなぁ。
俺は Qt に対してなんやこのクソはとしか思わんが、
広く使われている現実がある以上は実用性は高いんだろう。 たぶん。

862 名前:デフォルトの名無しさん mailto:sage [2020/01/28(火) 11:38:43 ID:9AkNqXrr.net]
Qtのmocは何か嫌だ

863 名前:デフォルトの名無しさん mailto:sage [2020/01/28(火) 11:45:43 ID:wcDzWZFN.net]
>>835
ああ、usingを使うべきだったな
typedefなんてダセーもんもういらねえって
頭ではわかってるんだが長年の癖でぽろっと出ちまう

864 名前:デフォルトの名無しさん [2020/01/28(火) 12:03:55 ID:AXFiEKC0.net]
マクロを名前空間に閉じ込められるようになれば、マクロの害悪の何割かは減らせるはず。



865 名前:デフォルトの名無しさん mailto:sage [2020/01/28(火) 15:45:53 ID:wcDzWZFN.net]
ということは名前空間をプリプロセッサが処理せにゃあかんな
translation phaseを根本的にぶっ壊さないと無理だと思うが

866 名前:デフォルトの名無しさん mailto:sage [2020/01/28(火) 16:34:43 ID:ogCuVxV7.net]
typedefが駄目で、usingが好まれる理由を教えてください。

867 名前:デフォルトの名無しさん [2020/01/28(火) 16:38:19 ID:AXFiEKC0.net]
否定的な視点から散々な言われ方をされがちなC/C++のマクロだけど、
Java/C#/Python/Pwel/Rubyに似たテキスト変換がないことに物足りなさを感じることが多いのも事実。

868 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2020/01/28(火) 16:39:59 ID:jIEBko3c.net]
>>841

私が思いつくのは
・ using は名前を導入するという一巻した意味規則がわかりやすいから
・ using はテンプレートに出来るから
・ typedef だと複雑な型定義をするときに肝心の新しい名前が中の方にあって見づらい

869 名前:デフォルトの名無しさん [2020/01/28(火) 16:44:17 ID:AXFiEKC0.net]
typo。PwelじゃなくてPerl。Perlはめっきり影が薄くなった。
PerlはGit for Windowsにバンドルされているので世の中の大部分のプログラマーがすぐに使える環境にあるのだが、
Git本体はPerl依存を減らす方向に進んでいるらしい。

870 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2020/01/28(火) 16:44:19 ID:jIEBko3c.net]
>>842
Cプリプロセッサを Java やら Python やらにつこうてもええんやで。

そういえば cpp を使うことを (習慣的に) 想定してる言語って C/C++ を除けばHaskell (GHC) くらい?
汎用プリプロセッサとして使うなら M4 あたりの方が賢いしなぁ……。

871 名前:デフォルトの名無しさん mailto:sage [2020/01/28(火) 17:01:24 ID:wcDzWZFN.net]
>>841
たとえばこういう場合
#define STR char*
STR a, b; //これ、どうなる?

もしこうなっていたら
using STR = char*;
STR a, b; //これはどうだ?

おまえさんの好みに合うのはどっちだ?
そこに答えがある

872 名前:デフォルトの名無しさん mailto:sage [2020/01/28(火) 17:02:35 ID:wcDzWZFN.net]
>>841
あ、すまんtypedefか

typedef 内容ごちゃごちゃ 名前;
using 名前 = 内容ごちゃごちゃ;

体裁が揃えやすいのはどっちだと思う?

873 名前:デフォルトの名無しさん [2020/01/28(火) 17:12:58 ID:ijxMtirO.net]
typedef も using もエイリアスという点では
char * と STR の区別が出来ないから後で困る

874 名前:デフォルトの名無しさん mailto:sage [2020/01/28(火) 17:15:55 ID:wcDzWZFN.net]
関数ポインタの別名を作るときなんぞ

typedef int (*funcp)(); //内容ごちゃ名前ごちゃ
using funcp = int(*)(); //名前 = 内容ごちゃごちゃ

という違いが出る



875 名前:デフォルトの名無しさん mailto:sage [2020/01/28(火) 17:25:49 ID:CkOmcsmE.net]
usingを使うと03脳が発狂する

876 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2020/01/28(火) 17:28:55 ID:jIEBko3c.net]
でもまあヘッダファイルを C と C++ の両方で (マクロで少し切り分けて) 使いたいってことはあるから、
そういうときは typedef にしといた方が共用できる部分が多くて楽ってことはある。

877 名前:デフォルトの名無しさん [2020/01/28(火) 17:34:48 ID:ijxMtirO.net]
>>849
そこだけだと構文糖衣以上のメリットはないよね

878 名前:デフォルトの名無しさん mailto:sage [2020/01/28(火) 17:46:32 ID:aDOyN6/W.net]
どっちでもええやん

879 名前:はちみつ餃子 mailto:sage [2020/01/28(火) 17:55:35.77 ID:jIEBko3c.net]
>>849
ポインタまわりはテンプレートの記法で書けば統一的でわかりやすい気がするが、
たぶん他の名前とかぶらないようにするためか長めの名前なのがちょっとなぁ……。

using funcp = std::add_pointer_t<int(void)>;

880 名前:デフォルトの名無しさん mailto:sage [2020/01/28(火) 18:11:09 ID:IabgCQwH.net]
こういうのもある。
https://qiita.com/Linda_pp/items/44a67c64c14cba00eef1

881 名前:デフォルトの名無しさん mailto:sage [2020/01/28(火) 18:21:36 ID:jS595giQ.net]
>>842
PL/1はいいぞ
制御構文としてif程度しか使えないしょぼいC/C++マクロと違ってプリプロセッサでDOループやGOTOとかも使えるしサブルーチンの定義すらできるぞw
https://en.m.wikipedia.org/wiki/PL/I_preprocessor

882 名前:デフォルトの名無しさん mailto:sage [2020/01/28(火) 19:30:49 ID:jjtOLQOh.net]
そういえば最近Boost.Preprocessorを使った楽しい黒魔術の話題を聞かない気がする
あれってまだ開発継続してるの?

883 名前:デフォルトの名無しさん mailto:sage [2020/01/28(火) 20:01:44 ID:KHL1SP2c.net]
>>849
typedefの方が簡単じゃん
コピペして*付けて()付けるだけ

884 名前:デフォルトの名無しさん mailto:sage [2020/01/28(火) 20:11:17 ID:lz3/6EQt.net]
マジでか・・・



885 名前:デフォルトの名無しさん mailto:sage [2020/01/28(火) 20:52:12 ID:wcDzWZFN.net]
>>852
おまえさ、usingはテンプレートにできること、まさか知らないの?

886 名前:デフォルトの名無しさん mailto:sage [2020/01/28(火) 22:15:34.91 ID:aDOyN6/W.net]
小学生かよw

887 名前:デフォルトの名無しさん mailto:sage [2020/01/28(火) 23:16:15.60 ID:kww99AmH.net]
CPPってもうメンテされていないようで怖い
#define FOO 123 // comment
とはとうてい恐ろしくてどうしても書けず、
#define FOO 123 /* comment */
と書いてしまうま

888 名前:デフォルトの名無しさん mailto:sage [2020/01/29(水) 11:25:21 ID:HJZ6WUGV.net]
N4713
5.2 Phases of translation
3
Each comment is replaced by one space character. New-line characters are retained.

889 名前:デフォルトの名無しさん [2020/01/29(水) 13:26:03.72 ID:zE4LbE2k.net]
>>860
そこだけって書いてあるのに脳内で読み飛ばずのは
国語の成績悪かったやつの特徴

890 名前:デフォルトの名無しさん mailto:sage [2020/01/29(水) 13:40:36.68 ID:HJZ6WUGV.net]
>>864
おい852本人、「構文糖衣以上のメリットはない」という自分の言葉から逃げるのに
そういう言い訳は見苦しいぞ

今さら吐いた唾を飲むなよ

891 名前:デフォルトの名無しさん [2020/01/29(水) 14:13:02 ID:pjwqAxyM.net]
なぜ喧嘩腰なのか。

892 名前:デフォルトの名無しさん mailto:sage [2020/01/29(水) 14:13:39 ID:Yrzd5mtl.net]
喧嘩腰がC++民のデフォだから

893 名前:865 mailto:sage [2020/01/29(水) 14:36:19 ID:WeNDQDRz.net]
俺は争いは好まないが、
平和的な話し方をしないやつには
場合にもよるが嫌悪感を露にすることもある

894 名前:デフォルトの名無しさん [2020/01/29(水) 16:47:35 ID:pjwqAxyM.net]
戦士の血がそうさせると言いたいのか。



895 名前:デフォルトの名無しさん mailto:sage [2020/01/29(水) 16:57:27 ID:HJZ6WUGV.net]
平和を愛するという点で共感が得られず
こちらが下手に出ることのベネフィットがない相手には容赦は無用ということだ

896 名前:デフォルトの名無しさん [2020/01/29(水) 17:24:59 ID:pjwqAxyM.net]
戦士と戦士が巡り合ってしまうと、バトル・フィールドが形成されるシステムってことか。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<214KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef