_>class A{
_>public:
_> A(){}
_> A(const A&){ std::cout<<"copy constructor"<<std::endl;}
_> template<typename T>
_> A(const T&){ std::cout<<"template constructor"<<std::endl;}
_>};
_>class B: public A{
_>public:
_> B(){}
_> B(const B& b):A(b){ }
_>}
> а почему надо так: "B(const B& b):A(static_cast<const A&>(b)){}"
А может быть все-таки надо хотя бы так?:
class A{
public:
A(){}
A(const A&){ std::cout<<"copy constructor"<<std::endl;}
explicit template<typename T> A(const T&){ std::cout<<"template constructor"<<std::endl;}
};
Здравствуйте, s_viy, Вы писали:
_>_>#include <iostream>
_>template<int i>
_>struct f { enum { result = i*f<i-1>::result }; };
_>template<>
_>struct f<0> { enum { result = 1 }; };
_>int main()
_>{
_> std::cout<< f<4>::result <<std::endl;
_>}
_>
Это эрланг?
Здравствуйте, Чили, Вы писали:
Ч>Да и вообще судя из постеров (Понятно!), кто вообще тебе доверил проводить собеседования!!!
Наеврное и вправду дуракам везёт...
Здравствуйте, Formidable, Вы писали:
E>>Ну про триграфы можно случайно помнить. Или в книжке какой перед собеседованием прочитать. В том же Сартре
E>>А про # в макросах -- это довольно часто используемый синтаксис. Если, например, ты хоть раз интересовался как написан макрос assert, то должен бы по идее знать о такой конструкции
F> Вот поэтому я и не сказал, что сразу такого человека гнать надо.
Я бы сказал что совсем не нужно гнать! Я в своём детстве, например интересовался строением компиляторов, препроцессоров, и прочей дряни. (Своего к счастью так и не написал). И как работает # — честно говоря запомнил на всю жизнь. Да и клей вот без бубна не используется.
И что теперь? И если вспомнить рекурсивные макросы MASM-а, своеобразие макросов — NASM-а... как-то ничего плохого в этом не вижу.
Вот стоит ли уметь решать такую задачку? А именно, то, как работает макрос XSTRCAT3_STR4.
Всё это так... не использую я. Я вообще больше по C#-пу прусь теперь. Вот и пример с кучей диезов.
Смысл я думаю понятен.
#define XSTRCAT3(x,y,z) x##y##z
#define XSTRCAT3_STR1(x,y,z) #x##y##z
#define XSTRCAT3_STR2(x,y,z) # x##y##z
#define TOSTR(x) #x
#define TOSTR2(x) TOSTR(x)
#define XSTRCAT3_STR3(x,y,z) TOSTR(x##y##z)
#define XSTRCAT3_STR4(x,y,z) TOSTR2(x##y##z)
XSTRCAT3(__FILE__, :, __LINE__)
XSTRCAT3_STR1(__FILE__, :, __LINE__)
XSTRCAT3_STR2(__FILE__, :, __LINE__)
XSTRCAT3_STR3(__FILE__, :, __LINE__)
XSTRCAT3_STR4(__FILE__, :, __LINE__)
результат cl /E 1.c
"1.c":9
"__FILE__":11
"__FILE__":12
"__FILE__:__LINE__"
"\"1.c\":14"
Здравствуйте, Erop, Вы писали:
"которые от тебя зависимы в этой ситуации и не могут тебе ответить. И ещё хвалишься этим перед коллегами, например на этом форуме?"
Ваабщет странное позиционирование. С чего это собеседуемый зависим ? Может наоборот фирма зависит от кандидатов ? Фир то много а кандидатов мало .
У меня есть на этот счет практический совет , в любой ситуации говорите с человеком наравных. Только так получится диалог и нервное равновесие. Если кандидату нужна работа , то таким же образом фирме нужен кандидат .
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>