types相关内容
我开始学习C ++,我读了一本书,书中写道,我必须使用 头文件,因为字符串类型不是直接构建到编译器中。 如果我使用 我可以使用字符串类型。 如果我包括 ,当我想使用字符串类型时,包括 解决方案 是的,你必须包括你使用的东西。它不强制标准头包括彼此(有几个例外IIRC)。 在您的情况下,显然
..
我有一个很好的环顾四周,找不到一个类似的问题,如果以前被问过,请不要抱歉。 我只是玩类型和数字,我想知道是否可以保证以下行为。 如果我声明2个变量为 unsigned char BIT_8 = 0; unsigned short int BIT_16 = 0xFF01; 然后执行以下操作(忽略C风格的转换,除非可以影响它) / p> cout
..
据我所知,基本类型是Scalar和Arrays是聚合的,但是用户定义的类型呢?我会以什么标准将它们分为两类? struct S {int i; int j}; class C {public:S s1_; S s2_}; std :: vector V; std :: vector * pV =& v; 解决方案 in C ++ ar
..
我想将一个函数的“binder”保存到一个变量中,通过利用它的操作符重载设施在下面的代码中重复使用它。这里是实际做我想要的代码: #include #include #include #include class X { int n; public: X(i
..
在C ++中,如何处理错误的输入?像,如果程序要求一个整数,当你键入一个字符,它应该能够做一些事情,然后循环重复输入,但是当你需要一个整数输入一个字符时循环无限,反之亦然。 解决方案 程序进入无限循环的原因是因为 std :: cin 的坏输入标志由于输入失败而设置。要做的是清除该标志并丢弃来自输入缓冲区的错误输入。 //如果输入执行循环失败(例如,没有字符被读取) while(
..
有一个我可以使用或构建的C ++容器,包含 int 和 string double 类型?我面临的问题是,每当我尝试填充,说,地图,向量或列表,例如,如下: int x; string y; double z; 我受到格式限制: list我的帐户 vector mycontainer; 这会强制 myco
..
void f() { char * c =“Hello World! } 字符串存储在哪里?它的属性是什么?我只知道这是一个常数,还有什么?我可以从函数体内部返回它。 解决方案 它与你的二进制包装 - 有线,所以是的你可以返回它,并使用它在其他地方 - 你将无法改变它,但我强烈建议你声明它: const char * x =“hello world”;
..
为什么自动类型扣除只对函数而不对类才可能? 解决方案 做 std :: make_pair : template(val); } EDIT: C ++编程语言,第三版“,第335页。Bjarne说: 注意类模板参数是 从来没有推导过。原因是由几个 构造
..
我有这个问题在MSVC2008 MFC。我使用unicode。我有一个函数原型: MyFunction(const char *) 我叫它: MyfunFunction(LPCTSTR wChar )。 错误:无法转换参数1从'LPCTSTR'到' * 如何解决? 解决方案 由于您使用的是MFC,因此您可以轻松让
..
例如,什么是字符串字面量类型“Hello”, const char [6] 或 const char * 解决方案 字符串文字的类型“Hello” is is“array of 6 const char ”。 普通字符串字面量和UTF-8字符串字面量也称为窄字符串字面量。一个窄字符串文字具有 n const char “类型的数组,其中 n ...] 但是,它可以转换为 con
..
我想有几种类型共享相同的实现,但在C ++中仍然是不同类型。 为了用一个简单的例子说明我的问题,喜欢有一个类苹果,橘子和香蕉,所有具有相同的操作和相同的实现。我希望它们有不同的类型,因为我想避免错误由于类型安全。 class Apple { int p; public: Apple(int p):p(p){} int price()const {return p;} }
..
是否有使用十进制数据类型的方法,例如 decimal32 , decimal64 或 /www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2849.pdf\">十进制TR 未针对所有编译器实施。某些编译器(例如 gcc )会实施 C Decimal TR ,并在C ++中提供相应的扩展。在过去有一个开源实现C ++ Decimal TR可用,但我没
..
考虑到以下语句返回 4 , int 和 long C ++中的类型? sizeof(int) sizeof b $ b 解决方案 从 this reference: 一个int原本是为 “自然”字大小的 处理器。许多现代处理器可以 处理不同的字大小,等于 ease。 p> 在许多(但不是全部)C和C ++ 实现上,
..
我只是想知道我应该使用 std :: size_t 循环和东西,而不是 int ? 例如: #include int main b $ b { for(std :: size_t i = 0; i // std :: size_t OK?或者我应该使用,说,unsigned int代替? } } 一般来说,关于何时使用 std :: si
..
当我使用 getline 时,我会输入一串字符串或数字,但我只想要while循环输出“word”,如果它不是一个数字。 所以有什么办法来检查“字”是否是一个数字?我知道我可以使用 atoi()为 C字符串,但对字符串类的字符串如何? $ b b int main(){ stringstream ss(stringstream :: in | stringstream :: out);
..
在C ++中使用一个而不是另一个的优点和缺点是什么? 解决方案 如果你想知道真正的答案,您应该阅读每一个计算机科学家应该知道的浮点算术。 简而言之,虽然 double 允许表示,对于某些计算,它会产生较大误差。 “正确”选择是:使用尽可能多的精度,但不要更多和选择正确的算法。 许多编译器以“非严格”模式进行扩展浮点数学运算(即使用硬件中可用的更宽的浮点类型,例如80位和128位
..
我在GNU的C ++编译器上尝试这个代码,无法理解其行为: #include
..
为什么第一次返回引用? int x = 1; int y = 2; (x> y?x:y)= 100; 第二个不是? int x = 1; long y = 2; (x> y?x:y)= 100; 实际上,第二个根本没有编译 - “赋值左侧没有左值”。 > 解决方案 表达式没有返回类型,它们有一个类型和 - 在最新的C ++标
..
我有一个类,应该有一个私人成员的同一个类。所以像这样 - class A { private: A member; } 但它告诉我,member是一个不完整的类型。为什么?它不告诉我不完整的类型,如果我使用指针,但我宁愿不使用指针。任何帮助 解决方案 在声明成员时,您仍然定义 A 类,因此类型 A 仍未定义。 但是,当你写 A * 时,编译器已经知
..
我知道一点C,现在我来看看C ++。 我用于处理C字符串的字符数组,但是我看看C ++代码,我看到有使用字符串类型和字符数组的例子: #include #include using namespace std; int main(){ string mystr; cout
..