C++相談室 part161

■ このスレッドは過去ログ倉庫に格納されています
2022/05/21(土) 21:23:29.59ID:kYXfaM+5
前スレ
C++相談室 part160
https://mevius.5ch.net/test/read.cgi/tech/1649979572/
657652
垢版 |
2022/08/19(金) 23:10:05.19ID:SM6rQCcv
>>656
携帯だったので書けなかったけどこんな感じで
template <typename T>
class deeep_copy_unique_ptr: private std::unique_ptr <T>
{
using Base_ = std::unique_ptr <T>;
public:
explicit deeep_copy_unique_ptr (T *p = nullptr): Base_ (p) {}
deeep_copy_unique_ptr (const deeep_copy_unique_ptr <T> &p): Base_ (std::make_unique <T> (*p)) {}
deeep_copy_unique_ptr &operator = (const deeep_copy_unique_ptr <T> &p) {Base_::operator = (std::make_unique <T> (*p)); return *this;}
using Base_::operator *;
};
2022/08/20(土) 17:45:23.06ID:K3rnpbr9
>>621
それがそうでもないんですよ。だれか簡単なソースで示してくれませんか?
ハンドルごとにデストラクタがいろいろと変わるのが難しいと考えています。
2022/08/20(土) 17:53:55.99ID:zyxn7VyM
ハンドルごとに異なるデストラクタを指定すればよいのでは?
何が難しいのかソースで示してくれませんか?
2022/08/20(土) 17:54:26.62ID:ThG9yriU
>>658
> ハンドルごとにデストラクタがいろいろと変わるのが難しいと考えています。
ハンドル毎にクラス作ればいい
と言うかハンドル毎にコンストラクタも色々変わるはずだがそっちはいいのか?
2022/08/20(土) 18:23:11.87ID:ktmIW8Jj
>>658
ポインタ以外のリソース一般を扱うための unique_resource クラスの提案は出ている。
一部の処理系では使えるようになっているし、ポータブルな実装があるので導入してみてもいいかもね。

このような提案が出ているのは逆に言えばスマートポインタではハンドルを上手く扱えないということでもある。
2022/08/20(土) 20:02:38.48ID:vLOPx7Du
>>660
>ハンドル毎にクラス作ればいい
それはもうスマポじゃない‥‥
2022/08/20(土) 21:48:51.04ID:XA6yEFAc
>>658
そのハンドルって何? ハンドルを具体的に指定せずにソースで示せとな?

#include <memory>
#include <cstdio>
#include <string>
using namespace std;
int main ()
{
using File_Ptr = unique_ptr <FILE, decltype (&fclose)> ;
const string path ("hoge.txt");
File_Ptr fp (fopen (path.c_str (), "w"), &fclose);
const string buf ("hage\n");
fwrite (buf.c_str (), 1, buf.size (), fp.get ());
return 0;
}
2022/08/20(土) 21:51:59.51ID:xbv+n9gR
unique_ptr縛りですか?
shared_ptrならコンストラクタの第二引数にDeleter関数を渡せるけど
2022/08/20(土) 21:53:07.34ID:xbv+n9gR
私が言いたいことを >>663が言ってくれたみたい
2022/08/21(日) 01:35:54.66ID:hxqq7KJv
こんな昔ながらのRAIIクラスでいいじゃん

class FantasticHolder
{
FantasticHandle h = NULL_HANDLE;
errno_t e;
public:
FHHolder(int flag, void* data, FOption option)
{
 e = create_fantasy(&h, flag, data, option, false, NULL, Fantasy::DREAM);
}
close() {
 e = universal_fancy_destroyer(h, NULL, true, Fancy::FANTASTIC);
 h = NULL_HANDLE;
}
~FHHolder() { close(); }
const FantasticHandle& getHandle() const {return h;}
erron_t getError const {return e;}
};
667デフォルトの名無しさん
垢版 |
2022/08/21(日) 13:06:57.68ID:j3ukytx2
>shared_ptrならコンストラクタの第二引数にDeleter

ほんそれ
2022/08/21(日) 18:27:12.08ID:llGchqj4
lzw書いたら、色々プリプロセス突っ込んでやったのにメルセンヌツイスタの前に敗北した。
2色ビットマップは1/5になったけど、ブロックソートがアホみたいに遅い・・・。Orz
2022/08/25(木) 01:06:46.68ID:iYSr5CJi
ロシアで収監されているナワリヌイ氏が以下URLツイートで「無限ループ」という表現を使ったんだが、どう思う?
https://twitter.com/navalny/status/1562448816267149315
https://twitter.com/5chan_nel (5ch newer account)
2022/08/25(木) 09:24:32.64ID:q+czqL8k
スレチ
2022/08/25(木) 10:04:27.81ID:1QA/N1Qa
サブルーチンsub、
subを呼ぶA、
subを呼ぶB、
があって、subをAとBからしか見えないスコープに置きたくなったんですが、そういうときはnamespaceを切るしかないですか?
2022/08/25(木) 10:09:20.76ID:s36cDPHI
>>671
sub, A, Bをひとつのファイルに入れてファイルスコープで区切るとかクラスにまとめてクラススコープで区切るとか
2022/08/25(木) 12:00:46.82ID:1QA/N1Qa
>>672
クラスに入れるとしたら毎回インスタンス作って呼ぶんですかね?
外から呼ぶためだけにstatic関数にするのもなーと思ってしまうのですが、そういうのはよくやられていることですかね?
2022/08/25(木) 18:28:04.89ID:tuQ48GQq
Javaとかではstatic関数まとめクラスはよく見るけどC++ではあんまり見ない
それこそnamespaceを使う
2022/08/25(木) 18:44:56.88ID:ktMJLYyQ
それはどうだろう。
namespace は内部を隠蔽しない。
キッチリと隠したいなら翻訳単位を分けるか、
翻訳単位内でも隠蔽したいならクラスに入れるかしかやりようがない。

やろうと思えば namespace で区切ってここにはアクセスしないことにするという
規約で運用するとかも出来るが、その程度で足りるなら
そんなに分けなくてもよくない? って思うし。
2022/08/25(木) 20:19:01.82ID:TTLAkLfZ
subを公開ヘッダに書かずに非公開ヘッダに書くだけでよくね?もしくはヘッダを用意せずに各ソースコードからexternするとか。どっちも完全に隠蔽されるわけじゃないけど。

あとは全部同じソースコードに格納できるなら無名名前空間の中にsubを入れとくとか?
2022/08/25(木) 21:41:52.10ID:nLwrVbOJ
friend
2022/08/25(木) 22:33:54.95ID:JbTCA7nE
プライベートにズケズケ踏み込んで来るのは
友達としてちょっと...
2022/08/25(木) 22:54:54.82ID:9RZfx+i1
キミも今日から新しいフレンズだね
680剛田武
垢版 |
2022/08/25(木) 23:01:36.69ID:JbTCA7nE
おお!心の友よ!
お前のものは俺のもの
俺のものは俺のもの
2022/08/26(金) 06:21:10.20ID:DLmHAhGr
>>674
char_traits
numeric_limits
2022/08/27(土) 07:11:01.12ID:I8td9Ncm
ジャイアンはジャイ子の兄だから付いたアダ名
2022/08/27(土) 14:49:53.46ID:K1QPdrfW
>>671
AとBがクラスなら共通のMix-inクラスをAとBでprivate(protected)継承するとか?
2022/08/31(水) 19:31:25.12ID:LmkW4fMO
MessageBox()みたいな機能でボタンのテキスト変更できるファンクションありませんか

メッセージが"ぬるぽ"なら[ガッ]のボタンを押したいじゃないですか!
[ はい ]、[ いいえ ]だと"ぬるぽです。ガッする場合は[はい]を押してください"みたいに長々と説明しないといけないので(´・ω・`)
2022/08/31(水) 20:06:27.16ID:HFPaJDap
>>684
C++の標準ライブラリにGUIは用意されてないのよ
2022/08/31(水) 20:19:53.88ID:hXO4gkW+
>>684
Vista以降ならTaskDialog
2022/08/31(水) 20:40:57.36ID:LmkW4fMO
ありがとう調べてみます
688デフォルトの名無しさん
垢版 |
2022/09/01(木) 10:24:37.74ID:0re8NfSH
windowsのアプリの話
C++で作成するとランタイムが必要なんですか?
Cならランタイムは不要ですか?
windowsのアプリを作成するとしたらC++とCでどちらの方が良いでしょうか?
2022/09/01(木) 10:35:00.87ID:J4auvpO0
ランタイムライブラリはCでも必要
アプリ制作が目的ならC/C++はそもそも向いてないかもしれない
出来なくはないが、そのレベルの質問をするようだと今後苦労するかも
690デフォルトの名無しさん
垢版 |
2022/09/01(木) 10:38:04.37ID:0re8NfSH
>>689
ありがと
2022/09/01(木) 10:47:53.40ID:LhGLll4T
>>688
C/C++ のランタイムライブラリの一部は Windows の一部として入っているからその範囲内でならどちらでもあまり関係がない。
ランタイムライブラリの一部はVisual C++ 再頒布可能パッケージとして配布されているものもあるが Windows のバージョンによっては
最初から入ってるとかもあるのでそのあたりの事情は複雑。
バージョンの混乱を避けるならスタティックリンク版を使ったほうが楽だと思う。

Windows のアプリケーションを C で書くのはだいぶんしんどいと思う。
C++ なら楽というわけでもないけど各種フレームワークが C++ を前提にしていたりするので全体としては楽をしやすい可能性が高い。
ただ、言語仕様としては C++ のほうがだいぶん複雑ではあるので言語に対する習熟がどの程度かにもよる。
2022/09/01(木) 10:58:27.89ID:0gPlf6MI
GDI+ なんかはC++ベースだしな
693デフォルトの名無しさん
垢版 |
2022/09/01(木) 11:08:01.39ID:wgtUDrt5
Runtime と API って結局何が違うん?
694デフォルトの名無しさん
垢版 |
2022/09/01(木) 11:10:18.56ID:wgtUDrt5
GDI+はCからでも使えるよな
2022/09/01(木) 11:17:08.19ID:LhGLll4T
ランタイムは実行時に使われるライブラリ (およびその他の実行時サポート) で、
API はそれらを呼出すインターフェイスのこと。

ただ、そんなにしっかりした定義があるわけではなくて
スタティックリンクするライブラリのインターフェイスを API と呼ぶかどうかなどは人によるかも?
API の P はプロトコルの P なので独立性の高いモジュールの外部仕様なら
形態にかかわらず API と呼んでいいんじゃないかと個人的には思っているが。
696デフォルトの名無しさん
垢版 |
2022/09/01(木) 11:27:49.27ID:wgtUDrt5
ntdll.dll とか kernel32.dll は API って感じするけど
それ以外は全部 Runtime で良いんじゃないかとも思う
msvcrt を API かって言われたら絶対違う気がする
2022/09/01(木) 12:14:02.42ID:NUg6437m
Application Programming Interface
2022/09/01(木) 12:36:35.99ID:GpP6p1Yr
APIは「境界面・接点」だから、インターフェイスの向こう側は対象外。
ライブラリは「書庫」なので、中身を含めてライブラリ。
2022/09/01(木) 12:48:19.96ID:0gPlf6MI
ランタイムは、特定の開発手段(GCC, VSなど)に関係する実行環境に持ち込むもの
APIは、特定の操作対象(OS、アプリなど)に関係する関数など
2022/09/01(木) 13:18:41.91ID:epb6+NRn
「ランタイム」って不思議な名前だね
何語かな?
2022/09/01(木) 13:31:42.39ID:NUg6437m
Runtime library
https://en.wikipedia.org/wiki/Runtime_library
702デフォルトの名無しさん
垢版 |
2022/09/01(木) 13:39:01.39ID:wgtUDrt5
携帯電話をケータイと略してしまって何のことか判らなくなるのが日本人の本質
2022/09/01(木) 13:49:12.02ID:epb6+NRn
>>701
単なるライブラリじゃん
2022/09/01(木) 14:00:22.77ID:epb6+NRn
>>702
英語だと「mobile」だしそこは日本人に限らない
2022/09/01(木) 14:04:08.43ID:oIm36FRE
静的じゃなくて、かつ統合的な機能を提供しとるライブラリという感じ
2022/09/01(木) 14:06:48.53ID:P/wcDX1Q
いうて英語圏でも普通にRuntimeと表記されまくってるよ
CRTLよりCRTのが一般的だし。RTよりはRTLかもしれんが

>>703
したらわざわざ区別するような名称が付いたりしません
2022/09/01(木) 14:15:18.72ID:LhGLll4T
>>702
いや、プログラムから呼び出されるライブラリだけでなく実行時サポートのための機構全般を含めてランタイムという場合もある。
たとえば WebAssembly の仮想機械の実装である wasmtime も "A fast and secure runtime for WebAssembly" と説明されている。
https://wasmtime.dev/

明確な用例を見つけられないんだけど .NET とかでも同じようなニュアンスだったはず……。
2022/09/01(木) 14:40:23.38ID:veDjuKDC
おまえらは用語の定義とかの話になると生き生きしはじめるな
2022/09/01(木) 14:46:45.68ID:PGNFrqcy
それがプログラマに大事な資質の一つだからまあ
2022/09/01(木) 15:06:04.82ID:X5eV6Z9e
WebAPI はどうでもいいとして
Win32API 以前は API ってあんまり聴かんかった気がする
もし時代が時代なら C Runtime は Console API とか
System Call API とか名付けられていたんじゃまいか
2022/09/01(木) 15:13:38.12ID:epb6+NRn
Linux界隈でもランタイムって用語は
あんまり馴染みない気がする
2022/09/01(木) 15:45:49.43ID:LhGLll4T
ランタイム (実行時) という語をあてはめる以上は静的ではないというニュアンスが感じられるし、
ダイナミックリンクされるもの全般をふんわりとそう呼び始めたとかではないかなぁ。
あくまでも想像の域を出ないけど。

>710
それはどうだろう。
C ランタイムはコンソールの操作だけを司るわけではないし、ほとんどの関数はシステムコールしない。
あくまでも C という言語の事情に強く結びついているのでランタイムとは呼ばれなかったとしても
C ナントカという名前にはなったんじゃないかな。
713デフォルトの名無しさん
垢版 |
2022/09/01(木) 16:33:34.64ID:X5eV6Z9e
stdc
2022/09/01(木) 17:32:56.24ID:pvebLOMF
libc
2022/09/01(木) 17:56:44.20ID:6yN4NXnZ
libgcc
716デフォルトの名無しさん
垢版 |
2022/09/01(木) 20:14:05.79ID:IftgsB+t
DOSの頃はINT21hのシステムコールだしな。
描画はVRAM直だし。
APIと言うより割り込みだな。
2022/09/01(木) 21:31:42.28ID:2+rvldGI
APIという言葉からは、実装を絶対に見せたくないという強い意志のようなものを感じる
718デフォルトの名無しさん
垢版 |
2022/09/01(木) 23:17:08.92ID:X5eV6Z9e
oppapi
2022/09/01(木) 23:26:48.72ID:JiwZvitn
A(あんまり) P(ぱっとしな) I(い)
2022/09/02(金) 00:07:28.67ID:4QwPhwTb
>>716
DOS の用語ではファンクションコールじゃなかったっけ……
と思って資料を読み返したらなんだかあまり統一されてない感じだった。
ファンクションリクエストという用語を使っている場合もある。

当時の用語の混乱は置いといて、現代的にには
機械語レベルでの値の受け渡しやメモリの配置は ABI で決めるべきことで
API はその上に構築される高レイヤな概念と解される場合が多いと思う。
ソフトウェア割込みを使うという規約は ABI に属して、
どのような値を渡してどんな効果があるかは API に属すと考えるべきじゃないかな。
2022/09/02(金) 07:20:17.05ID:gHt2MaJh
メインフレームではSVC
DIAGNOSEを使う馬合もあるけど
722デフォルトの名無しさん
垢版 |
2022/09/02(金) 09:12:32.54ID:K5Jq4B80
こんなのがあったんだけど

https://qiita.com/purigen/items/d68b146f341c41d260fc
c = c = testString.find_first_of(" ")

これってなんで2回も代入してりゅの???わからにゃいよ
2022/09/02(金) 09:43:01.10ID:tSjdGUVq
誤植でしょ
724デフォルトの名無しさん
垢版 |
2022/09/02(金) 10:15:17.31ID:K5Jq4B80
そっか誤植か〜
わかったニャン☆
2022/09/02(金) 10:29:24.82ID:J900FDad
Win32の頃はint2ehのだしな
描画はシステムメモリに書いてbitbltだし
APIと言うより割り込み棚
2022/09/02(金) 12:14:46.88ID:2iQGHF2d
g++で以下の警告のようなメッセージ(`note')が出るのですが
これは何を意味しているのでしょうか?
コンパイラはaarch64-linux-gnu-g++-10で
オプション-std=c++14に変えるとメッセージは出ません
またx86_64-linux-gnu-g++-10でコンパイルすると
-std=c++17でも-std=c++14でもメッセージは出ません
恐らくC++の規格の問題だと思いますのでこちらに書かせて頂きます
$ cat test.cpp
#include <cmath>
#include <utility>
using namespace std;
pair <double, double>
hoge (double p_x, double p_y)
{
return make_pair (p_x, p_y);
}
int main () {return 0;}
$ g++ -std=c++17 test.cpp
test.cpp: In function ‘std::pair<double, double> hoge(double, double)’:
test.cpp:6:29: note: parameter passing for argument of type ‘std::pair<double, double>’ when C++17 is enabled changed to match C++14 in GCC 10.1
6 | hoge (double p_x, double p_y)
| ^
2022/09/02(金) 13:54:12.27ID:gHt2MaJh
俺んとこでは -std=c++98 でも何も言ってこない
バージョンは g++ (Rev5, Built by MSYS2 project) 10.3.0

Microsoft(R) C/C++ Optimizing Compiler Version 19.33.31629 for x64 で /W4 にしても何も言ってこない
2022/09/02(金) 14:42:37.96ID:E472VNc+
これかな
https://gcc.gnu.org/gcc-10/changes.html#empty_base
2022/09/02(金) 14:46:58.07ID:4QwPhwTb
>>726
言語仕様上は問題ないけど、どうやら特定の環境で起こる GCC のバグを修正した
ために ABI の辻褄が合わないかもしれないというような事情っぽい。
2022/09/02(金) 15:04:43.31ID:2iQGHF2d
>>727-729
有難うございます
難しすぎて書いてあることが良く分からんのですが
ABIなのでビルドし直せば問題ないと理解しました
みなさん凄い調査能力だな
2022/09/02(金) 15:06:04.63ID:4QwPhwTb
>>730
いや、エラーメッセージでググったら stackoverflow で背景の説明をしてるのが見つかったぞ。
732デフォルトの名無しさん
垢版 |
2022/09/02(金) 18:13:40.07ID:/OwM2R8K
ω株 PI.3.14
2022/09/13(火) 14:35:12.50ID:pQsEVmxh
OSの板で聞くべきかもしらんが、終了シグナル受け取ったらメモリの中身を書き出して中断し、再びコマンドが叩かれたらメモリの中身を読み込んで途中から再開するみたいな仕組みを一番簡単にやる方法ってどんなですかね?
チェックポイント・リスタートっていうんでしょうか
2022/09/13(火) 15:19:18.69ID:w3MhG8uL
>>733
Linux とか BSD で昔はメモリをダンプするシステムコールがあったはずだが廃止されたんじゃなかったっけ。
Emacs でそのシステムコールを使ってたから色々とゴタゴタしたような記憶がある。
(そのシステムコールの名前が思い出せない……。 すまぬ。)

再開に必要な情報を適当にシリアライズして書き出すしかしょうがないんじゃないの。
2022/09/13(火) 23:44:43.38ID:Vl/J6nKl
やったことないけどgdbでできそうな気はする
2022/09/14(水) 01:15:05.96ID:o/NVybOh
ptraceは無敵
737デフォルトの名無しさん
垢版 |
2022/09/22(木) 16:50:54.43ID:MKlA3Ol3
おはこんばんわ
何度もお世話になっておりますが、今回も皆様のお知恵をお借りしたく書き込みをしております。
初歩的な質問かもしれませんが質問させてください!

私の質問は、動的な任意型を戻り値とする関数を作ることは可能でしょうか??という事です。
したい事は、
template <typename T>
T ret(int arg)
{
If(arg==0)return static_cast<hoge>(arg);
else if(arg==1)return static_cast<hage>(arg);
}
でホゲ型とホラン千秋型を引数によって変化させて返却したいのです……が、
私が見ても無理そうな感じなのです。ニパー
そもそもテンプレートってコンパイル時点で推察できないと無理ですよね?
この悩みに何か方法や別解があったりしたら教えていただきたく、スレ汚しを失礼しております。

感謝は先に申し上げておきます。
ありがとうございます!
2022/09/22(木) 17:27:40.84ID:vBAk//C3
>>737
一般的には型システムの健全性と安全性のために
そのような用途では代数的データ型(タグ付き共用体)を用いる
C++ではstd::variantであるがパターンマッチングなどの言語サポートがないため若干扱いにくい
2022/09/22(木) 19:28:31.52ID:He0eupRY
>>737
実行時の多相は抽象クラスを使うのが基本ということになってる。
その場合で言えば hoge と hage が共通のインターフェイスを持つ (抽象クラスを継承する) ようにクラス設計するのが普通。
まずは抽象クラスを学んでみて。

最初からクラス設計に関与することが出来ない場合 (既存のライブラリなので手を加えられないなど)
に動的に切り替える必要があるなら std::variant や std::any が使えるのだけれど……
使う箇所で元の型にキャストしなおしたり、 std::visit を経由したりで煩雑になりがち。
2022/09/22(木) 21:37:36.04ID:PsWl+Otb
anyってstdに入ってるんだ!
2022/09/22(木) 22:12:16.21ID:PsWl+Otb
>>737
argがコンパイル時点で決定しているのならやりようはあるが
実行時まで決まらないのならみなさんの言う通り
retをどう使うのか呼び出し側のコードを書いてみてよ
2022/09/22(木) 22:27:10.41ID:He0eupRY
>>740
入ったのは C++17 だし、あまり積極的には使わない種類のものだから目立たないよな……
2022/09/23(金) 00:25:25.16ID:LrToOuio
any使えばクソコードは書けるがw

#include <iostream>
#include <any>
using namespace std;
struct hoge {
int value_;
hoge (int arg): value_ (arg) {}
std::ostream &output (std::ostream &os) {return os << value_;}
};
struct hage {
int value_;
hage (int arg): value_ (arg) {}
std::ostream &output (std::ostream &os) {return os << value_;}
};
std::any ret(int arg)
{
if(arg==0)return hoge (arg);
else if(arg==1)return hage (arg);
return std::any ();
}
int main () {
try {
any_cast <hoge> (ret (0)).output (cout) << endl;
any_cast <hage> (ret (1)).output (cout) << endl;
any_cast <hoge> (ret (1)).output (cout) << endl; // An exception will be thrown.
} catch (const std::bad_any_cast &) {
cerr << "std::bad_any_cast\n";
return -1;
}
return 0;
}
744デフォルトの名無しさん
垢版 |
2022/09/23(金) 02:10:00.16ID:gD4It3Ab
Python や tcl のコードだな
2022/09/23(金) 02:31:56.65ID:LrToOuio
argがコンパイル時に決まってるなら例えば以下の通りにディスパッチ
Loki::Int2Typeって今はC++に入ってるっけ?
#include <iostream>
using namespace std;
namespace Loki {
template <int v>
struct Int2Type {
enum { value = v };
};
}
struct hoge {
int value_;
hoge (int arg): value_ (arg) {}
std::ostream &output (std::ostream &os) {return os << value_;}
};
struct hage {
int value_;
hage (int arg): value_ (arg) {}
std::ostream &output (std::ostream &os) {return os << value_;}
};
hoge ret(Loki::Int2Type <0> p){return hoge (Loki::Int2Type <0>::value);}
hage ret(Loki::Int2Type <1> p){return hage (Loki::Int2Type <1>::value);}
int main () {
ret (Loki::Int2Type <0> ()).output (cout) << endl;
ret (Loki::Int2Type <1> ()).output (cout) << endl;
return 0;
}
746デフォルトの名無しさん
垢版 |
2022/09/23(金) 17:57:04.27ID:tVlOtcCS
>>738
>>739
返信ありがとうございます。
variantで返すかUnionのようなもので返すか、という事ですね。
Unionの存在を初めて知ったので、できれば使いたいと思います。
2022/09/23(金) 18:13:00.58ID:MklXD0R7
そういう用途でタグ無しunionは危険で不便な昔の遺物
どの言語でも安全で便利なタグ付きunionを用いる
C++はパターンマッチングが弱いのでそこを改善すればさらに便利になるはずだ
2022/09/23(金) 19:52:56.72ID:Ztvb6Y4W
無名の共用体
anonymous union
2022/09/23(金) 23:41:53.30ID:icgBEU6J
anonymous union というとなにかこう、不穏なひびきがあるな
集団で徒党をくんでハッキングする的な
2022/09/24(土) 00:05:53.42ID:G+JpnkhJ
そもそも文脈なしのunionって労働組合だからもともと不穏な響きの単語
2022/09/24(土) 00:18:57.85ID:JL9pTOdW
ネトウヨ現る
2022/09/24(土) 00:38:49.83ID:Pnjq2Ki8
Union Jack
2022/09/24(土) 00:38:55.02ID:NrutJXN/
「集団」で「徒党」を組むって
754デフォルトの名無しさん
垢版 |
2022/09/24(土) 20:29:13.36ID:7pBAspe1
Visual Studio Community おそろしあ
2022/09/24(土) 22:05:06.81ID:51wpUqA8
チューリンからメール北?
2022/09/26(月) 08:57:53.30ID:Fzzl8jy0
>>751
何が見えてるの…
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。