草庐IT

c++ - 为什么 *_iterators 在移除 std::iterator 后仍然需要 typedef something void?

我使用ostreambuf_iterator如下图:在c++17之前,template>classostreambuf_iterator:publicstd::iterator要求我们确定std::iterator的每个参数类型,因此,对于std::ostreambuf_iterator,void还不错。据我们所知,std::iterator在c++17中已弃用。因此,迭代器应该在它们自己的主体中对它们的成员类型进行typedef,例如:MembertypeDefinition---------------------------------------------value_type

C++ 什么时候标准库容器中的 typedef 不是您所期望的?

哪些标准库容器类型是容器内的typedef而不是您天真地认为的那样?在代码中,在什么条件下类型T和容器container_type执行以下静态检查,但并非所有评估结果都为真:typedefdoubleT;typedefstd::vectorcontainer_type;std::is_same::value;std::is_same::value;std::is_same::value;std::is_same::value;std::is_same::value;我只知道std::vector::reference这不是bool&(这可能与const版本相同)。还有其他的吗?

c++ - ˋtypedefˋ 中的异常规范是完全禁止的还是仅在顶层?

在C++14Sec15.4;2中声明,......异常规范不应出现在typedef声明或别名声明中。这意味着以下内容是被禁止的:typedefvoid(*fn)(int)noexcept;但是shallnotappear是否意味着标记noexcept不能出现在typedef声明中的任何地方?例如,这两者是否也被禁止?typedefvoid(*fn1)(void(*)(int)noexcept);typedefdecltype(std::declval())fn2;这两个都试图定义一个类型fn1和fn2能够指向一个函数,该函数接受一个函数的指针,该函数接受一个int并且不返回任何内容,同

c++ - 在 C++ 编译时输出 typedef 的类型(特别是发生错误时)

我很难解释这个特定的问题/问题,所以请耐心等待(我在处理所有与模板相关的问题时遇到了麻烦!)。/p>以这段代码为例(注意展示代码的重点是展示一个复杂的模板层次结构,而不是它是否有意义):#include#include#includetemplatestructFoo{typedeftypenameT::value_typevalue_type;typedeftypenameT::value_type1value_type1;typedeftypenameT::value_type2value_type2;Foo(){}Foo(value_type1,value_type,value_

c++ - 为什么不能用 typedef 类型定义 Qt 信号的参数?

对于Qt5/c++11项目,我使用QMediaPlayer对象(名为audio_player)及其positionChanged()信号:这段代码没问题:connect(this->audio_player,SIGNAL(positionChanged(qint64)),this,SLOT(audio_position_changed(qint64)));但是这个不行:typedefPosInAudioqint64;connect(this->audio_player,SIGNAL(positionChanged(PosInAudio)),this,SLOT(audio_positio

c++ - 获取当前类的 typedef

我目前正在将boost::intrusive_ptr与我的GUI类一起使用。虽然这或多或少是一个方便的问题,但有没有正确的方法来获取当前类的类型名?我问的原因是我有一个宏来定义不同的指针类型:#defineINTRUSIVE_PTR_TYPEDEFS(CLASSNAME)typedefboost::intrusive_ptrPtr;\typedefboost::intrusive_ptrCPtr;\typedefCLASSNAME*WeakPtr;\typedefconstCLASSNAME*CWeakPtr;...classWidget{public:INTRUSIVE_PTR_TY

c++ - 什么是 struct NIL { typedef NIL Head; }?

我正在阅读有关模板元编程的内容。我不明白这些行是什么意思;以下代码涉及在链表上进行元编程。structNIL{typedefNILHead;typedefNILTail;};templatestructLst{typedefHHead;typedefTTail;};templatestructInt{staticconstintresult=N;};typedefLst,Lst,Lst>>>OneTwoThree;以上内容来自https://monoinfinito.wordpress.com/series/introduction-to-c-template-metaprogramm

ios - typedef 重新定义错误 Xcode 5、iOS7 和 64 位与 32 位

我正在尝试使用xcode5在64位ios7中构建一个现有的32位项目。在使用架构arm64构建期间,发生typedef重新定义错误。Xcode5llvm编译器显示redine错误。在下面,我发布了主要出现错误的示例代码。#ifdefined(__LP64__)typedeflongint64_t;typedefunsignedlongu_int64_t;#elsetypedeflonglongint64_t;//showsredefineerrorint64_tlongvslonglongtypedefunsignedlonglongu_int64_t;//showsredefinee

iphone - typedef enum 语句在 Objective-C 中放在哪里?

我害怕的一个基本问题。以下代码有效,并且识别了typedef枚举,但我收到一条警告消息“空声明中无用的存储类说明符”。我在这里做错了什么吗?这是放置typedef枚举的最佳位置吗?#import#import"CoreDataBaseTableViewController.h"typedefenumColourType{BACKGROUND=1,LOW=2,HIGH=3,EXTRA=4};@interfaceColourList:CoreDataBaseTableViewController{NSManagedObjectContext*moc;NSFetchedResultsCont

ios - @compatibility_alias 和 typedef 在 Objective-C 中的 @class 上使用有什么区别

有什么区别:@compatibility_aliasAliasClassNameExistingClassName和typedefExistingClassNameAliasClassName; 最佳答案 https://gcc.gnu.org/onlinedocs/gcc-4.5.4/gcc/compatibility_005falias.html@compatibility_alias仅适用于objc的类typedef是C语言的关键字,它用于任何数据类型。所以,对于你的问题,类名的别名有相同的用途ps:使用@compatibil