100-12-22から1日間の記事一覧

ADL Firewall

(注:"ADL Firewall" という名前は私が勝手につけたもので,一般に認知された呼び方ではないです) ADL による不用意な関数名の探索を回避しつつ,呼び出し側にそれを意識させない手法. ある関数あるいは関数テンプレートがあって,それを ADL の対象とし…

using によって引っ張ってこられたクラスと ADL

C++

using によって引っ張ってこられた関数と ADL

ADL の対象となる関数は対象となる名前空間に定義された関数だけで, using によって別の名前空間から名前だけ引っ張ってこられた関数は対象とならない. namespace NS1{ struct X {}; void f( X x ) {} } namespace NS2{ void g( X x ) {} } namespace NS1{…