types相关内容
请注意:我知道类似的问题在此之前已被问过,但我没有发现它们有帮助或非常清楚。 第二个备注:对于此项目/作业的范围,我尝试避免使用第三方库,例如Boost。 我我试图看看是否有一种方式,我可以有一个单一的向量持有多个类型,在其每个索引。例如,假设我有以下代码示例: 向量 vec; int x = 3; string hi
..
__ int64 i64FreeBytes unsigned __int64 lpFreeBytesAvailableToCaller, lpTotalNumberOfBytes, lpTotalNumberOfFreeBytes; //用于获取 的变量 的可用空间GetDiskFreeSpaceEx(Manager.capDir, (PULARGE_INTEGER)& lpFree
..
我认为这是完全不可能的,但如果。在任何版本的C ++中,是否可以在静态成员函数中以某种方式获取类型的封闭类? class Impossible { public: static void Fun() { typedef不可能的封闭类; //现在使用EnclosingClass执行某些操作... } } 有没有办法得到类型的封闭类(在这种情况下 Impo
..
我在C ++中实现了一些基本的反射,用于超模块化架构,其中几乎所有功能都作为插件加载并在运行时动态解释。由于系统中有一个独特的结构自组织元素,组件需要一些检查方法(对于需要这种反射风格的情况,请参阅这个问题:
..
我想知道类型是否可以确定为C ++中的运行时信息。 (1)虽然我的问题很笼统,但为了简单起见,我将从一个简单的例子开始: #include #include #include using namespace std; int main(int argc,char * argv []) { if(strcm
..
出于好奇,我想知道C ++字符串文字的真正基础类型是什么。 根据我观察到的,我得到不同的结果。 / p> 类型测试如下: std :: cout ;& typeid(“test”)。name()
..
如果我有一个具有 typename T 的函数模板,其中编译器可以自己设置类型,我不必在调用函数时显式地写类型例如: 模板 T min(T v1,T v2){ return(v1 } int i1 = 1,i2 = 2; int i3 = min(i1,i2); // no explicit 但是如果我有一个包含两个不同类型名的函数模板:
..
std :: numeric_limits的文档说明它不应该专用于非基本类型。类似数字的用户定义类型呢?如果我定义了我自己的类型T,它代表一个数字值并重载数值运算符,并且由numeric_limits表示的信息有意义 - 如果我专门为该类型使用numeric_limits,会有什么破坏? 解决方案 简答: 继续,没有什么不好会发生。 长回答: C ++标准广泛地保护C +
..
如果一个变量不需要额外的值范围,那么应该将它声明为一个unsigned int?例如,当在for循环中声明变量时,如果你知道它不会是负数,那么是否重要?是一个比另一个更快?在C ++中声明一个unsigned int是不好的吗? 要重做,应该这样做即使不需要额外的范围?我听说他们应该避免,因为他们造成混乱(IIRC这就是为什么Java没有它们)。 解决方案 使用uints是它给编译器
..
一个C ++问题, 我知道 int * foo(void) foo将返回指向int类型的指针 如何 int& foo(void) 它是什么? 非常感谢! 解决方案 它返回一个引用到一个int。引用类似于指针,但有一些重要的区别。我建议您阅读指针,引用,对象和原始数据类型之间的差异。 “有效的C ++”
..
在C ++中可以检查传入模板函数的类型吗?例如: template void Foo() { if(typeof(SomeClass)== T) ...; else if(typeof(SomeClass2)== T) ...; } 解决方案 。 模板 void foo() { if(is_same
..
我有一个简短的问题。为什么OpenGL会为标准类型(如int,unsigned int,char等)提供自己的数据类型? 例如,OpenGL等价于 unsigned int GLuint ,对于ac字符串,有 GLchar * ,而不是 char * 。 解决方案 例如,OpenGL等价于 int 是 GLuint GLuint 不等同于 unsigned int 。 GL
..
为什么这行给出错误错误:不允许不完整类型 $ stringstream ss; 解决方案 #include
..
在我的C ++程序中,我需要从外部字节序列中提取一个64位的浮点数。有没有一些方法来确保,在编译时,双精度是64位?是否还有其他类型,我应该用来存储数据? 编辑:如果你正在阅读这个和实际上寻找一种方式 解决方案 对于其他答案的改进假设一个字符是8位,标准不保证这一点。)。将是这样: char a [sizeof(double)* CHAR_BIT == 64];
..
我不怕承认我有点是C ++新手,所以这可能是一个蠢的问题,但.... 我看到DWORD在代码示例中使用了所有的地方。当我查找一个DWORD真正意味着什么,它显然只是一个unsigned int(0到4,294,967,295)。所以我的问题是,为什么我们有DWORD?它是什么给我们的整数类型“unsigned int”不? 解决方案 DWORD 不是C ++类型,它在
..
我想取一个栈变量和 reinterpret cast 它成一个无符号的整数类型相同大小的字节。例如,我可能想要 double 值并将其转换为 uint64_t ,捕获位未修改。 如果我正在处理指针,我会使用 reinterpret_cast我已经想出了一个解决方案,它使用了一个肮脏的黑客在 reinterpret_cast ,并且是有效的,但它需要相当多的元程
..
可能的重复项: 按返回类型重载函数? 谜题:根据返回值重载C ++函数 因为我有一个库,它以如下形式暴露了一堆函数: bool GetVal double GetVal(); int GetVal(); long GetVal(); //所以。 现在我要包装这些。我宁愿不再重写相同的功能集。我想做一些像 template
..
这里是一个很简单的问题(我认为),是否有一个STL库方法,它提供了变量类型(例如整数) 的限制? 我知道这些限制在不同的计算机上有所不同,但是必须有一种方法让他们通过一个方法,对吗? 真的很难写一个方法来计算变量类型的限制? 我只是好奇! :) 解决方案 使用 std :: numeric_limits : // numeric_limits示例 //从链接的页面
..
我一直想知道为什么C ++标准库使用 char 类型而不是实例化basic_ [io] unsigned char 类型。 char 意味着(取决于它是否被签名),可以有像get()这样的操作的溢出和下溢,这将导致涉及的变量的实现定义的值。另一个例子是当你想使用 put 函数输出一个未格式化的字节到ostream。 Any 真的说服了。 解决方案 可能我误解了这个问题,但是转换从un
..
我已经看到/使用的许多库有typedef提供可移植的固定大小的变量,例如int8,uint8,int16,uint16等,将是正确的大小,不管平台(和c ++ 11它本身与头文件stdint.h) 最近在一个小的库中使用二进制文件i / o我写了我可以看到使用typedefs的好处,代码是可移植的。 但是,如果我打算输入“namespace :: uint32”而不是使用内置的基本类型
..