!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑同じ内容を3行貼り付けること
次スレは>>980が立てること
無理なら細かく安価指定
※前スレ
C++相談室 part163
https://mevius.5ch.net/test/read.cgi/tech/1672409791/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
C++相談室 part164
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 33da-QP0H)
2023/05/09(火) 11:50:52.06ID:EYc2I7oW02デフォルトの名無しさん (スプッッ Sd97-Itme)
2023/05/09(火) 17:29:42.12ID:fBzPCnLFd >>1
乙
乙
3デフォルトの名無しさん (ワッチョイ df01-ouLR)
2023/05/10(水) 05:46:16.13ID:v0BqkWXe0 >>2
よく見たらそれ乙じゃなくてポニーテールやん
よく見たらそれ乙じゃなくてポニーテールやん
4デフォルトの名無しさん (スプッッ Sd97-Itme)
2023/05/10(水) 07:28:21.43ID:htltMOsRd どゆこと?
5デフォルトの名無しさん (テテンテンテン MMde-qVtI)
2023/05/12(金) 20:00:57.96ID:mYlAeNCAM class template みたいなノリで、namespace templateとかできないかね。
ユーザーカスタマイズくらいしかメリット無いけど。
ユーザーカスタマイズくらいしかメリット無いけど。
6デフォルトの名無しさん (ワッチョイ 6f9a-syTp)
2023/05/13(土) 07:51:55.71ID:JxNjXH3v0 ある整数のペアが既に出てきたかどうかを管理したいのですが、
安直に unordered_set(pair<int, int>> としたら、これはハッシュ関数を定義してあげないと
使えないんですね。
ネット上で見かけた良さげなハッシュ関数の例をコピーする手もあるのですが、
これ以外で楽なやり方(データ型)ってありますかね?
安直に unordered_set(pair<int, int>> としたら、これはハッシュ関数を定義してあげないと
使えないんですね。
ネット上で見かけた良さげなハッシュ関数の例をコピーする手もあるのですが、
これ以外で楽なやり方(データ型)ってありますかね?
7デフォルトの名無しさん (テテンテンテン MM7f-hs0w)
2023/05/13(土) 08:05:00.58ID:qcT1eyp6M 職業プログラマに聞きたいんだけど
自分でソフト屋なんて言ってるけど、ほぼ全てを外注に投げて自分ではろくに書けないなんての普通のことなの?
今年から社会人になったんだけど、先輩たちのレベルが低すぎて失笑してる日々です。
c言語、クラスという単語をドヤ顔で宣ってる先輩達。
classを解釈できるcコンパイラがあるのかな
自分でソフト屋なんて言ってるけど、ほぼ全てを外注に投げて自分ではろくに書けないなんての普通のことなの?
今年から社会人になったんだけど、先輩たちのレベルが低すぎて失笑してる日々です。
c言語、クラスという単語をドヤ顔で宣ってる先輩達。
classを解釈できるcコンパイラがあるのかな
8デフォルトの名無しさん (ワッチョイ cf34-+/XS)
2023/05/13(土) 08:10:28.77ID:Er9DBy9d0 俺は自分がそうだったら恥ずかしくてプログラマなんて名乗れないけど
世の中には色んな人がいるからね
まあ俺の価値観では普通じゃない
クラス、つまりオブジェクト指向は何言語を使うかじゃなく頭の中の考え方だから
++じゃないCでも使っていい用語だよ
世の中には色んな人がいるからね
まあ俺の価値観では普通じゃない
クラス、つまりオブジェクト指向は何言語を使うかじゃなく頭の中の考え方だから
++じゃないCでも使っていい用語だよ
9デフォルトの名無しさん (ワッチョイ 6f9a-syTp)
2023/05/13(土) 08:20:18.41ID:JxNjXH3v010デフォルトの名無しさん (ワッチョイ 3302-Cej3)
2023/05/13(土) 08:32:20.51ID:/V+1J/0r011デフォルトの名無しさん (スップ Sd1f-ammQ)
2023/05/13(土) 09:16:37.00ID:uFhfbSODd >>6
単に vector とかのコンテナに入れて find とかで既出判定すればいいんじゃないかな。
単に vector とかのコンテナに入れて find とかで既出判定すればいいんじゃないかな。
12はちみつ餃子 ◆8X2XSCHEME (ワッチョイ ff3e-Phjm)
2023/05/13(土) 09:44:38.89ID:vqN1nVlv013デフォルトの名無しさん (ワッチョイ cf34-+/XS)
2023/05/13(土) 09:49:39.77ID:Er9DBy9d0 ハッシュ関数を定義してあげないと使えないって
定義すれば使えるだろ
何が問題なんだ?
定義すれば使えるだろ
何が問題なんだ?
14デフォルトの名無しさん (アウアウエー Sadf-OfPZ)
2023/05/13(土) 10:30:48.84ID:W/YCRtGia 単にset<int, int>じゃダメなの?
場合によっちゃあmap<int, set<int>>のほうが容量ケチれそうだけど?
https://ideone.com/YB4CIY
{
std::set<std::pair<int, int>> s;
s.emplace(1, 1);
s.emplace(1, 2);
auto f = [&s](int a, int b) {
return s.find(std::pair<int, int>(a, b)) != s.end();
//return s.contains(std::pair<int, int>(a, b));
};
std::cout << f(1, 1) << f(1, 2) << f(0, 1) << std::endl;
}
{
std::map<int, std::set<int>> m;
m[1].insert(1);
m[1].insert(2);
auto f = [&m](int a, int b) {
return m.find(a) != m.end() && m[a].find(b) != m[a].end();
//return m.contains(a) && m[a].contains(b);
};
std::cout << f(1, 1) << f(1, 2) << f(0, 1) << std::endl;
}
場合によっちゃあmap<int, set<int>>のほうが容量ケチれそうだけど?
https://ideone.com/YB4CIY
{
std::set<std::pair<int, int>> s;
s.emplace(1, 1);
s.emplace(1, 2);
auto f = [&s](int a, int b) {
return s.find(std::pair<int, int>(a, b)) != s.end();
//return s.contains(std::pair<int, int>(a, b));
};
std::cout << f(1, 1) << f(1, 2) << f(0, 1) << std::endl;
}
{
std::map<int, std::set<int>> m;
m[1].insert(1);
m[1].insert(2);
auto f = [&m](int a, int b) {
return m.find(a) != m.end() && m[a].find(b) != m[a].end();
//return m.contains(a) && m[a].contains(b);
};
std::cout << f(1, 1) << f(1, 2) << f(0, 1) << std::endl;
}
15デフォルトの名無しさん (ワッチョイ f37c-rSo2)
2023/05/13(土) 11:16:03.77ID:giA7vv3r0 後者だったらstd::multimapでよくね
unorderedでもいいけど
unorderedでもいいけど
16デフォルトの名無しさん (アウアウウー Sa67-ayqt)
2023/05/13(土) 13:46:15.98ID:0/cn7SoCa >>7
WNDCLASS
RegisterClass
UnregisterClass
WNDCLASSEX
RegisterClassEx
GetClassName
GetClassLong
SetClassLong
GetWindowClass
WNDCLASS
RegisterClass
UnregisterClass
WNDCLASSEX
RegisterClassEx
GetClassName
GetClassLong
SetClassLong
GetWindowClass
17デフォルトの名無しさん (テテンテンテン MM7f-hs0w)
2023/05/13(土) 19:14:51.96ID:23Ow1LiAM >>16
君もc++を学習しなおせ
君もc++を学習しなおせ
18デフォルトの名無しさん (スップ Sd1f-MiYm)
2023/05/13(土) 19:17:32.52ID:acArdvJWd19デフォルトの名無しさん (スプッッ Sd1f-zj+H)
2023/05/13(土) 19:23:38.16ID:lAh8QD2cd コード書けないリーダーは事務方に徹してくれるなら別にいいんだよ
そうじゃないやつが迷惑ってだけ
コーダーをバカにするやつはすべてこれ
そうじゃないやつが迷惑ってだけ
コーダーをバカにするやつはすべてこれ
20デフォルトの名無しさん (ワッチョイ 6f9a-syTp)
2023/05/13(土) 19:32:33.50ID:JxNjXH3v021デフォルトの名無しさん (オイコラミネオ MMc7-ZkZz)
2023/05/13(土) 21:58:43.54ID:TFo/sDKRM int int → long
何にでも突っ込め
何にでも突っ込め
22デフォルトの名無しさん (ワッチョイ 73da-M4GN)
2023/05/13(土) 22:42:01.19ID:2eXxQqWR0 long long int
23デフォルトの名無しさん (ワッチョイ 6f9a-syTp)
2023/05/13(土) 23:57:15.63ID:JxNjXH3v024デフォルトの名無しさん (ワッチョイ 335f-GJof)
2023/05/14(日) 00:07:36.91ID:QmAlZPFj0 何も考えないでboost::combine_hash使っとけばいい
25デフォルトの名無しさん (ワッチョイ f37c-rSo2)
2023/05/14(日) 00:50:39.86ID:uyb9YL620 どうせ整数のハッシュなんて値そのものだし
26デフォルトの名無しさん (ワッチョイ 73da-M4GN)
2023/05/14(日) 00:58:25.21ID:hOK4knnB0 よくあるサンプルが (x * 12345)%n
27デフォルトの名無しさん (ワッチョイ 73da-M4GN)
2023/05/14(日) 01:15:07.44ID:hOK4knnB0 いや、適当杉田わ
long int v=0;
for(auto c : int_array)
v += v*12345 + c ;
return v%hash_size;
long int v=0;
for(auto c : int_array)
v += v*12345 + c ;
return v%hash_size;
28デフォルトの名無しさん (ワッチョイ 73da-M4GN)
2023/05/14(日) 01:16:46.06ID:hOK4knnB0 いや、こうか
long int v=0;
for(auto c : int_array)
v*=12345, v+=c ;
return v%hash_size;
long int v=0;
for(auto c : int_array)
v*=12345, v+=c ;
return v%hash_size;
29デフォルトの名無しさん (ワッチョイ cf34-TSnC)
2023/05/14(日) 06:44:54.29ID:YUNKAbGY0 template <>
struct std::hash<std::pair<int, int>>
{
static constexpr std::size_t size = sizeof(int) * 2;
using result_type = std::bitset<size * CHAR_BIT>;
result_type operator()(const std::pair<int, int>& val) const
{
result_type ret;
ret |= result_type(get<0>(val));
ret |= result_type(get<1>(val));
return ret;
}
};
struct std::hash<std::pair<int, int>>
{
static constexpr std::size_t size = sizeof(int) * 2;
using result_type = std::bitset<size * CHAR_BIT>;
result_type operator()(const std::pair<int, int>& val) const
{
result_type ret;
ret |= result_type(get<0>(val));
ret |= result_type(get<1>(val));
return ret;
}
};
30デフォルトの名無しさん (ワッチョイ cf34-TSnC)
2023/05/14(日) 06:47:52.52ID:YUNKAbGY0 もとい
ret |= result_type(get<0>(val));
ret <<= sizeof(int) * CHAR_BIT; //fix
ret |= result_type(get<1>(val));
ret |= result_type(get<0>(val));
ret <<= sizeof(int) * CHAR_BIT; //fix
ret |= result_type(get<1>(val));
31デフォルトの名無しさん (ワッチョイ 6f9a-syTp)
2023/05/14(日) 10:45:03.83ID:28vpFfrh0 シフト演算が必要なのは、負の整数の場合が
あと、問題のサイズによってはハッシュの速度も気になるなあと
あと、問題のサイズによってはハッシュの速度も気になるなあと
32デフォルトの名無しさん (オイコラミネオ MMc7-ZkZz)
2023/05/14(日) 13:45:27.63ID:pb1Dbmn7M この流れ…
小学生の頃の自分はもちろんc知らなかったけど
このスレでああだこうだ言ってる人間達よりは使える人間だったのかなと
小学生の頃の自分はもちろんc知らなかったけど
このスレでああだこうだ言ってる人間達よりは使える人間だったのかなと
33デフォルトの名無しさん (ワッチョイ 7f28-HoHV)
2023/05/14(日) 13:47:15.07ID:mysDM4PT0 負の整数を論理演算と組み合わせるときはオフセットして非負の範囲にしてから符号無し型にして唐論理演算したら安心、
取り出すときは(論理演算して切り出した後)逆オフセットで元に戻る
全ての過程で符号つき整数の右シフトが陽に現れずに済む
取り出すときは(論理演算して切り出した後)逆オフセットで元に戻る
全ての過程で符号つき整数の右シフトが陽に現れずに済む
34デフォルトの名無しさん (ワッチョイ 7f28-HoHV)
2023/05/14(日) 13:52:34.35ID:mysDM4PT0 しつれい
>オフセットして非負の範囲にしてから符号無し型
この処理順序で良いのは {扱う整数|<std::numeric_limits<オフセットするときの整数型>::max()のときはこれで良いが、
=の場合は符号無しにしてからオフセットする
全てが調和する、
>オフセットして非負の範囲にしてから符号無し型
この処理順序で良いのは {扱う整数|<std::numeric_limits<オフセットするときの整数型>::max()のときはこれで良いが、
=の場合は符号無しにしてからオフセットする
全てが調和する、
35デフォルトの名無しさん (オイコラミネオ MMc7-ZkZz)
2023/05/14(日) 13:53:38.30ID:pb1Dbmn7M こんなの秒で解決するだろ
ごちゃごちゃ言うようなものなの?
ごちゃごちゃ言うようなものなの?
36デフォルトの名無しさん (ワッチョイ 835f-Phjm)
2023/05/14(日) 17:24:37.15ID:oi9EHG/70 こんなの秒でスルーするだろ
ごちゃごちゃ言うようなものなの?
ごちゃごちゃ言うようなものなの?
37デフォルトの名無しさん (スップー Sd1f-HMPm)
2023/05/14(日) 18:28:37.27ID:f2qVMn0Gd スルー出来てない人に言われましても
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 [ぐれ★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★2 [BFU★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★3 [BFU★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★2 [BFU★]
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 [Hitzeschleier★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- 中国高官と話す外務省局長の表情、やばい ★2 [175344491]
- 高市早苗政権「経済的威圧をしてくる国はリスク」 トランプぴょんぴょん政権さん…… [175344491]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
- 偏差値35大臣「すぐに経済的威圧するところへの依存はリスク」 [834922174]
- 【高市朗報】『劇場版「鬼滅の刃」無限城篇』、ギリのタイミングで中国上映公開し5日間で4億元(87億円)突破!!! [126042664]
- 【朗報】高市、中国からの日本行き空路49万件キャンセルを達成🤩オーバーツーリズム対策の手腕が光る [359965264]
