草庐IT

destroy_at

全部标签

c++ - C++中map []和map.at之间的区别?

C++中通过aMap[key]和aMap.at(key)获取值有什么区别? 最佳答案 如果您使用索引运算符[]访问当前不属于map的键,则它会自动为您添加键。这是一个巨大的警告,并考虑到这一点。出于这个原因,我更喜欢使用索引运算符[]进行设置,使用.find()/.at()进行查找。使用.at()而不是[]的另一个优点是它可以对conststd::map进行操作,而[]不会。 关于c++-C++中map[]和map.at之间的区别?,我们在StackOverflow上找到一个类似的问题:

c++ - C++中map []和map.at之间的区别?

C++中通过aMap[key]和aMap.at(key)获取值有什么区别? 最佳答案 如果您使用索引运算符[]访问当前不属于map的键,则它会自动为您添加键。这是一个巨大的警告,并考虑到这一点。出于这个原因,我更喜欢使用索引运算符[]进行设置,使用.find()/.at()进行查找。使用.at()而不是[]的另一个优点是它可以对conststd::map进行操作,而[]不会。 关于c++-C++中map[]和map.at之间的区别?,我们在StackOverflow上找到一个类似的问题:

c++ - 警告 : extra tokens at end of#endif directive

我正在使用VxWorks6.8C++编译器编译一个相当大的项目。我收到以下警告警告:#endif指令末尾的额外标记#ifndef_OM_NO_IOSTREAM#ifdefWIN32#ifndefUSE_IOSTREAM#defineUSE_IOSTREAM#endifUSE_IOSTREAM#endifWIN32我收到了很多这样的警告。WhyiamgettingthesewarningsandfromC++standardpointofview?Whatisthegoodreasonwhycompileriswarningforthis?Whatisthebestwaytofixthi

c++ - 警告 : extra tokens at end of#endif directive

我正在使用VxWorks6.8C++编译器编译一个相当大的项目。我收到以下警告警告:#endif指令末尾的额外标记#ifndef_OM_NO_IOSTREAM#ifdefWIN32#ifndefUSE_IOSTREAM#defineUSE_IOSTREAM#endifUSE_IOSTREAM#endifWIN32我收到了很多这样的警告。WhyiamgettingthesewarningsandfromC++standardpointofview?Whatisthegoodreasonwhycompileriswarningforthis?Whatisthebestwaytofixthi

c++ - C++ 标准库中 `at()` 索引函数的真实用例?

C++的容器vector、deque、...除了operator[index,还提供at(index)访问器功能]来访问容器元素。Thedifferencebetweenthismemberfunctionandmemberoperatorfunctionoperator[]isthatdeque::atsignalsiftherequestedpositionisoutofrangebythrowinganout_of_rangeexception.我的代码中从来没有,也从来没有需要过这个函数,因为在我的C++代码中访问可能超出范围的元素是没有意义的。始终编​​写代码以访问正确的索引

c++ - C++ 标准库中 `at()` 索引函数的真实用例?

C++的容器vector、deque、...除了operator[index,还提供at(index)访问器功能]来访问容器元素。Thedifferencebetweenthismemberfunctionandmemberoperatorfunctionoperator[]isthatdeque::atsignalsiftherequestedpositionisoutofrangebythrowinganout_of_rangeexception.我的代码中从来没有,也从来没有需要过这个函数,因为在我的C++代码中访问可能超出范围的元素是没有意义的。始终编​​写代码以访问正确的索引

C++ std::destroy(T * 指针)

我正在阅读的STL代码可能是旧的......但问题更多与C++模板语法有关。问题围绕着这个STL模板函数:templatestd::destroy(T*p){p->~T();}我似乎找不到std::destroy(T*)函数的特化。所以在我看来,模板函数将为“int”类型实例化相同的类型,并调用“int”的析构函数。为了说明我的观点,我创建了这个模拟std::destroy的示例代码。我把它叫做my_destroy在这个例子中。#include#includeusingnamespacestd;templatevoidmy_destroy(T*pointer){pointer->~T(

C++ std::destroy(T * 指针)

我正在阅读的STL代码可能是旧的......但问题更多与C++模板语法有关。问题围绕着这个STL模板函数:templatestd::destroy(T*p){p->~T();}我似乎找不到std::destroy(T*)函数的特化。所以在我看来,模板函数将为“int”类型实例化相同的类型,并调用“int”的析构函数。为了说明我的观点,我创建了这个模拟std::destroy的示例代码。我把它叫做my_destroy在这个例子中。#include#includeusingnamespacestd;templatevoidmy_destroy(T*pointer){pointer->~T(

c++ - At 符号 (@) 和美元符号 ($) 在 C 或 C++ 中是否有任何特殊含义

最近我的一位friend在一次采访中遇到了这个问题。面试官问他$、@、|、^、~等特殊字符在c或c++中有没有用,在哪里。我知道|、^和~分别用作按位或、异或和补码。但是不知道@和$有没有什么特殊含义。如果可以,请举例说明它可以应用在哪里? 最佳答案 @在C中一般是无效的;它不用于任何事情。它被Objective-C用于各种目的,但那完全是另一回事。$也是无效的,但许多实现允许它出现在标识符中,就像字母一样。(例如,在这些实现中,如果您愿意,可以将变量或函数命名为$$$。)尽管如此,它也没有任何特殊含义。

c++ - At 符号 (@) 和美元符号 ($) 在 C 或 C++ 中是否有任何特殊含义

最近我的一位friend在一次采访中遇到了这个问题。面试官问他$、@、|、^、~等特殊字符在c或c++中有没有用,在哪里。我知道|、^和~分别用作按位或、异或和补码。但是不知道@和$有没有什么特殊含义。如果可以,请举例说明它可以应用在哪里? 最佳答案 @在C中一般是无效的;它不用于任何事情。它被Objective-C用于各种目的,但那完全是另一回事。$也是无效的,但许多实现允许它出现在标识符中,就像字母一样。(例如,在这些实现中,如果您愿意,可以将变量或函数命名为$$$。)尽管如此,它也没有任何特殊含义。