|  | 
|      | 
|  | 
| Serialization - BOOST_STATIC_WARNINGBoost , ,
 Motivationtypedefcreates an alias for an existing type.  It does not create
a new type that can be used for matching either function or template parameters.
This can be shown by trying to compile the following example.
typedef int a;
void f(int x);  // (1) function to handle simple integers
void f(a x);    // (2) special function to handle integers of type a 
int main(){
    int x = 1;
    a y;
    y = x;      // other operations permitted as a is converted as necessary
    f(x);       // chooses (1)
    f(y);       // chooses (2)
}
Since typedef doesn't create a new type, this program can't compile to code
that implements its obvious intention.Использование BOOST_STRONG_TYPEDEF решает эту проблему. #includeПрограмма будет компилироваться и работать, как и ожидалось. ИспользованиеСинтаксисBOOST_STRONG_TYPEDEFбыл разработан, чтобы быть похожим на стандартtypedef.создаст новый тип «имя», который будет заменяться на оригинальный тип, но все же на отдельный тип.РеализацияBOOST_STRONG_TYPEDEFпредставляет собой макрос, который генерирует класс, называемый «имя», который обертывает экземпляр своего примитивного типа и предоставляет соответствующие операторы преобразования, чтобы сделать новый тип заменяемым на тот, который он обертывает.© Copyright Robert Ramey 2002-2004. Распространяется под лицензией Boost Software License, версия 1.0. (См. сопроводительный файл LICENSE_1_0.txt или копию по адресу http://www.boost.org/LICENSE_1_0.txt) Статья Serialization - BOOST_STATIC_WARNING раздела может быть полезна для разработчиков на c++ и boost. :: Главная :: :: 
 | ||||||
|  ©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||||