name-lookup

    1熱度

    1回答

    所以爲了擺脫一些樣板我選擇實施__getattr__委託一些方法調用。問題是我在屬性查找鏈中也有一個描述符,並且它們沒有像我期望的那樣進行交互。這裏的代碼: class C(object): attr = Descriptor() def __getattr__(self, item): # just returns a method for all items

    13熱度

    2回答

    以下示例是否格式良好? namespace N { class A; } using namespace N; class B { int i; friend class A; }; namespace N { class A { B m; int get() { return m.i; } }; } 該

    1熱度

    1回答

    爲什麼這個工程 struct Base { virtual void visit(const A &) { }; virtual void visit(const B &) { }; } 不同的表現,這抱怨歧義調用訪問方法時 template< typename T > struct X { virtual void visit(const T &) { };

    1熱度

    1回答

    我正在開發一個庫,在我的工作中,我設計了一個複雜的繼承,其中包含模板類並從中派生。 我的問題是,基本模板類具有虛擬重載運算符,它接受2個參數並返回一些值。在基類中實現了這個運算符,大多數派生類不重新實現這個運算符。 某些其他類使用派生類進行某些工作並利用其運算符成員函數。只要派生類沒有其他重載操作符,即使使用不同的參數數量,一切正常。如果有的話,那麼基類操作符就不能使用它作爲object(),因爲

    4熱度

    1回答

    定義我注意到一個函數依賴稍後定義時對於功能查找奇怪的現象: #include <iostream> template <typename T> void foo(const T&) { std::cout << "Basic" << std::endl; } template <typename T> void bar() { T x; foo(x)

    3熱度

    2回答

    §3.4.6/ 1: 在使用指示符或命名空間的別名定義,在 查找爲一個命名空間名稱或用於在 的名稱嵌套名稱說明符只考慮命名空間名稱。 基本上,我問的是:「爲什麼這段文字是必要的?」

    0熱度

    1回答

    我正在嘗試構建類似於True Caller的應用程序。來電時,我的應用程序需要連接到服務器才能檢索來電號碼的聯繫人姓名,只有在客戶(電話)聯繫人中不可用時纔可以使用。 我知道電話查找通過聯繫人和廣播接收機搜索來檢查來電時。 我想知道我的應用程序是否需要運行電話查找來搜索聯繫人來電時?或者,我們可以在Android默認搜索聯繫人姓名的時候檢索相關信息。如果是的話,請讓我知道如何。如果沒有,那麼我的應

    1熱度

    2回答

    如果我們在全局名稱空間中有一個函數,而在另一個名稱空間中具有不同參數類型的重載,則似乎C++ Builder編譯器不會找到函數來自全局命名空間。 namespace A { class a { friend void swap(a& first, a& second) { } }; } class b { friend void swap(b& f

    3熱度

    2回答

    當編譯和運行代碼 #include <iostream> struct A { A(int){} }; void foo(int) { std::cout << "foo(int)" << std::endl; } template< typename T > struct S { void bar() { foo(5); } void foobar() { T

    3熱度

    3回答

    類模板糾正錯誤最近,我讀的書:C++ templates: the complete guide大衛Vandevoorde和尼古拉M.約祖蒂斯寫的。 具體地約模板解析從書頁126 Class templates also have injected class names, However, they are stranger than ordinary injected class names: