草庐IT

constness

全部标签

c++ - 将 CString 转换为 const char*

如何在我的UnicodeMFC应用程序中将CString转换为constchar*? 最佳答案 要将TCHARCString转换为ASCII,请使用CT2A宏-这也允许您将字符串转换为UTF8(或任何其他Windows代码页)://ConvertusingthelocalcodepageCStringstr(_T("Hello,world!"));CT2Aascii(str);TRACE(_T("ASCII:%S\n"),ascii.m_psz);//ConverttoUTF8CStringstr(_T("SomeUnicodego

c++ - 将 CString 转换为 const char*

如何在我的UnicodeMFC应用程序中将CString转换为constchar*? 最佳答案 要将TCHARCString转换为ASCII,请使用CT2A宏-这也允许您将字符串转换为UTF8(或任何其他Windows代码页)://ConvertusingthelocalcodepageCStringstr(_T("Hello,world!"));CT2Aascii(str);TRACE(_T("ASCII:%S\n"),ascii.m_psz);//ConverttoUTF8CStringstr(_T("SomeUnicodego

c++ - 在 C++ 中将非 const 转换为 const

我知道您可以使用const_cast将const强制转换为非const。但是,如果你想将非const转换为const,你应该使用什么? 最佳答案 const_cast可用于移除或向对象添加常量。当您想要调用特定的重载时,这会很有用。人为的例子:classfoo{inti;public:foo(inti):i(i){}intbar()const{returni;}intbar(){//notconsti++;returnconst_cast(this)->bar();}}; 关于c++-在

c++ - 在 C++ 中将非 const 转换为 const

我知道您可以使用const_cast将const强制转换为非const。但是,如果你想将非const转换为const,你应该使用什么? 最佳答案 const_cast可用于移除或向对象添加常量。当您想要调用特定的重载时,这会很有用。人为的例子:classfoo{inti;public:foo(inti):i(i){}intbar()const{returni;}intbar(){//notconsti++;returnconst_cast(this)->bar();}}; 关于c++-在

c++ - 把 "const"类型前面的 "primitive"去掉会更好吗?

在代码审查过程中,我的一位同事向我提到,在header中用作函数参数的“原始类型”前面的“const”是没有意义的,他建议删除这些“const”。他建议在这种情况下只在源文件中使用“const”。原始类型是指“int”、“char”、“float”等类型。以下是示例。example.hintProcessScore(constintscore);example.ccintProcessScore(constintscore){//Dosomecalculationusingscorereturnsome_value;}他的建议如下:example.hintProcessScore(in

c++ - 把 "const"类型前面的 "primitive"去掉会更好吗?

在代码审查过程中,我的一位同事向我提到,在header中用作函数参数的“原始类型”前面的“const”是没有意义的,他建议删除这些“const”。他建议在这种情况下只在源文件中使用“const”。原始类型是指“int”、“char”、“float”等类型。以下是示例。example.hintProcessScore(constintscore);example.ccintProcessScore(constintscore){//Dosomecalculationusingscorereturnsome_value;}他的建议如下:example.hintProcessScore(in

c++ - 如何使用 auto 获得 const_iterator?

第一个问题:是否可以“强制”const_iterator使用汽车?例如:std::mapusa;//...initusaautocity_it=usa.find("NewYork");我只想查询,而不是更改city_it所指向的任何内容,所以我想要city_it成为map::const_iterator.但是通过使用自动,city_it与map::find()的返回类型相同,即map::iterator.有什么建议吗? 最佳答案 抱歉,但我认为最好的建议是不完全不使用auto,因为您想要执行(隐式有效的)类型转换。auto用于推断e

c++ - 如何使用 auto 获得 const_iterator?

第一个问题:是否可以“强制”const_iterator使用汽车?例如:std::mapusa;//...initusaautocity_it=usa.find("NewYork");我只想查询,而不是更改city_it所指向的任何内容,所以我想要city_it成为map::const_iterator.但是通过使用自动,city_it与map::find()的返回类型相同,即map::iterator.有什么建议吗? 最佳答案 抱歉,但我认为最好的建议是不完全不使用auto,因为您想要执行(隐式有效的)类型转换。auto用于推断e

c++ - 如何在头文件中声明静态 const char*?

我想在我的头文件中定义一个常量char*以供我的.cpp文件使用。所以我试过这个:private:staticconstchar*SOMETHING="sommething";这给我带来了以下编译器错误:errorC2864:'SomeClass::SOMETHING':onlystaticconstintegraldatamemberscanbeinitializedwithinaclass我是C++新手。这里发生了什么?为什么这是非法的?你怎么能这样做呢? 最佳答案 注意:自C++11以来,这已经发生了变化,请阅读其他答案您需要

c++ - 如何在头文件中声明静态 const char*?

我想在我的头文件中定义一个常量char*以供我的.cpp文件使用。所以我试过这个:private:staticconstchar*SOMETHING="sommething";这给我带来了以下编译器错误:errorC2864:'SomeClass::SOMETHING':onlystaticconstintegraldatamemberscanbeinitializedwithinaclass我是C++新手。这里发生了什么?为什么这是非法的?你怎么能这样做呢? 最佳答案 注意:自C++11以来,这已经发生了变化,请阅读其他答案您需要