草庐IT

progress_bar_length

全部标签

c++ - GNU 编译器 vs. Visual Studio 在数组上分配 w/Length Constant w/in a Scope

我知道如果你在c/c++中设置一个动态值,你不能在括号内使用该值来分配一个数组(这会使它成为所谓的可变长度数组(VLA),其中currentC++standard不支持)...即见:C++:VariableLengthArrayhttp://en.wikipedia.org/wiki/Variable-length_array我不太明白(而且我在这里没有看到确切地问到的)是为什么GNUc/c++编译器(gcc、g++)没问题使用基于整数值的动态分配(据我所知),只要该值是数组分配范围内的常量,但VisualStudio不支持这一点并且将拒绝编译代码,吐出错误。例如在g++中voidFo

MySQL 1071 - Specified key was too long; max key length is 1000 bytes解决方案

1071-Specifiedkeywastoolong;maxkeylengthis1000bytes解决方案在设计数据库表时,主键设计varchar长度为255,点击保存表,数据库报错如下图所示原因:在UTF-8MB4字符集下,每个字符通常需要4字节来存储。因此,如果你在VARCHAR(255)字段上使用UTF-8MB4字符集,它的最大存储长度将是255*4=1020字节,这已经超过MySQL的默认主键长度限制(1000字节)。在这种情况下,如果你尝试将VARCHAR(255)列作为主键并使用UTF-8MB4字符集,你可能会遇到“1071-Specifiedkeywastoolong;max

c++ - 为什么在 : foo x( (bar()) ); 这样的构造函数调用中需要双括号

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Whyisitanerrortouseanemptysetofbracketstocallaconstructorwithnoarguments?我看到了C++FQAentries关于嵌套的构造函数调用和支撑,并且一直想知道C++解析器如何解析两个以及为什么解析器无法解析它。所以我明白了为什么fooxxx();是模棱两可的。但是是什么让foox(bar());模棱两可,因为它显然不是前向声明。(即:应该有一个语法可以成功检测到这一点)。有人能解释一下C++语法那部分的局限性和歧义吗?

c++ - std::string 的 strlen(str.c_str()) 和 str.length() 之间的区别

作为一种隐含的理解,我一直认为std::string的每一个实现必然必须满足strlen(str.c_str())==str.length()对于每个字符串str。C++标准对此有何规定?(是吗?)背景:至少VisualC++和gcc附带的实现没有这个属性。考虑这个例子(参见hereforaliveexample)://Output://stringsaysitslengthis:13//strlensays:5#include#include#includeintmain(){std::stringstr="Hello,world!";str[5]=0;std::cout当然,没有注

c# - 为什么 Array.Length 是一个 int,而不是一个 uint

这个问题在这里已经有了答案:Whydoes.NETuseintinsteadofuintincertainclasses?(7个答案)关闭9年前。为什么Array.Length是int,而不是uint。这让我很困扰(有点),因为长度值永远不会是负数。这也迫使我在自己的类中使用int作为长度属性,因为当你指定一个int值,这需要显式转换...所以最终的问题是:unsignedint(uint)有什么用吗?甚至微软似乎也不使用它们。

c++ - STL String::length() 段错误

#include#include#include/*UsingSTL'sstringclassbecausetheproblemdoesnotreferanylimitsregardingthenumberofcharactersperline.*/usingnamespacestd;intmain(){stringline;vectorlines;while(getline(cin,line)){lines.push_back(line);}unsignedinti,u;unsignedintopening=1;//2iflastwasopening,1ifitwasclosingf

c# - 关闭 Windows 8 Charm Bar

我有一台SurfacePro,我需要将其“锁定”为一种Kiosk模式。我知道“Kiosk模式”的更新正在进行中。但是我需要在此之前执行此操作。我在整个互联网上搜索过,但似乎无法通过在屏幕上滑动来禁用Charm栏。我找到了禁用触控板的方法。但不幸的是,由于这款平板电脑将在没有键盘的情况下使用,我需要禁用Charm栏。我的新想法是将整个Charm栏移出屏幕HWND数千像素,或者,可能在其上设置一个窗口样式,使其不显示。我曾尝试使用Spy++和基于自定义EnumWindows的控制台应用程序来为我提供一些窗口句柄。但是我无法让Charm栏打开足够长的时间以使它们生效。所以我的问题是:如何在W

c++ - 我看到许多使用 "Foo ^ bar"的 C++ 示例 - 什么是 "^"?

与.NET相关吗?它似乎是某种指针,有什么区别?编辑:我实际上知道它是XOR运算符,但是从这个页面看这个例子。voidobjectCollection(){usingnamespaceSystem::Collections;**ArrayList^as=gcnewArrayList;**//...}这是什么?谢谢。 最佳答案 我假设您正在查看以下形式的结构:Foo^bar=gcnewFoo();你是对的,在.NET中它是一个“类似”指针的类型并且是C++/CLI的一部分,但不是标准的ISOC++。它是对垃圾收集的托管.NET对象的引

c++ - 在 C++11/14 中说 "foo not in {bar, baz}"的漂亮方式

我正在编写C++,但缺少Python的清晰度。但我知道C++一直在发展,我想知道是否有更好的方法来做这样的事情:if(foo!=bar&&foo!=baz)在Python中我会这样做:iffoonotin{bar,baz}:C++11或C++14中是否有一个奇特的特性允许我做一些类似可读的事情?编辑:很多人想知道为什么我要尝试替换这么短的东西。我不是,但我不想让我的示例像原始代码一样丑陋和不可读。它更像是:if(somelongvariablename.somelongmethodname()!=SomeReallyLongNamespace::AndAnotherSubClassna

c++ - 错误 : Variable length array of Non-POD element type 'string'

在开始之前,我必须首先声明,我已经研究过针对此错误的可能解决方案。不幸的是,它们都与不使用数组有关,这是我项目的要求。另外,我目前正在学习CS入门类(class),所以我的经验几乎没有。数组的用途是从文件中收集名称。因此,为了初始化数组,我计算了名称的数量并将其用作大小。问题是标题中所述的错误,但我仍然使用一维数组时看不到解决方法。主要.cpp#include#include#include#include#include#include"HomeworkGradeAnalysis.h"usingnamespacestd;intmain(){ifstreaminfile;ofstrea