草庐IT

code-size

全部标签

c++ - size_t ptrdiff_t 和地址空间

在我的系统上,ptrdiff_t和size_t都是64位。我想澄清两件事:我相信由于地址空间的限制,没有数组可以像size_t一样大。这是真的吗?如果是,那么是否可以保证ptrdiff_t能够保存最大数组中任何指针的减法结果? 最佳答案 不,没有这样的保证。例如,请参见此处:https://en.cppreference.com/w/cpp/types/ptrdiff_tIfanarrayissolarge(greaterthanPTRDIFF_MAXelements,butlessthanSIZE_MAXbytes),thatth

C++ Qt 框架 : qmake exits with error code 2, 找不到 project.pro 文件,但它在那里

正如标题所说,我在使用QtCreator时遇到了问题。我开始玩它并创建了一个包含一些代码的main(),当我想编译它以查看它在屏幕上的显示方式时,我无法这样做,我看到以下错误:Cannotfindfile:/Users/Eugene/Documents/Qt/Test/test.pro.Leprocessus"/Users/Eugene/QtSDK/Desktop/Qt/473/gcc/bin/qmake"terminatedwitherrorcade2.ErrorduringthecompilationoftheprojectTest(build:Desktop)duringthes

c++ - vector < vector > : verify that all have equal sizes

是否有std/boost算法来验证一个vector中的所有vector是否具有相同的大小?推而广之,所有元素的属性都相同吗?在下面的示例中,我使用了我正在寻找的假设的std::all_equal:typedefstd::vectorLine;std::vectorlines;lines.push(Line(10));lines.push(Line(11));autoequalLengths=std::all_equal(lines.begin(),lines.end(),[](constLine&x){returnx.size();});(并且通过扩展:std::vectorvec;a

c++ - size_t 在哪里定义的?

所以我知道CCompatabilityHeaders中的任何标题:Placesintheglobalnamespaceeachnamethatthecorrespondingcxxxheaderwouldhaveplacedinthestdnamespace我还知道这些C头文件自c++17起已被弃用。,支持它们的兼容性“cxxx”对应物。现在,我相信size_t完全由StandardDefinesHeader定义.所以我认为这在技术上意味着全局命名空间中size_t的定义已被弃用?多年来我一直将它用作size_t,在我开始使用std::size_t之前,我希望得到确认。

c++ - Visual Studio C++ : Seeing the ASM code?

我想看看VisualStudioC++生成的所有asm,以了解一些有关ASM、编译器等的知识。我知道使用GCC,您可以使用-S参数来实现,但不能在VS中实现。我该怎么做? 最佳答案 最简单的方法是在集成调试器中启动您的程序,然后打开汇编语言View。这显示了与您的原始源代码交错的汇编语言。当我使用VS时,这是Alt+F7或其他东西,但它可能已经改变了。这样做(相对于使用-S等价物)的好处是您可以准确地关注您感兴趣的代码行。 关于c++-VisualStudioC++:SeeingtheA

比VS Code快得多

Zed是一款支持多人协作的代码编辑器,底层采用Rust,且默认支持Rust,还自带了rust-analyzer,主打“高性能”。1月24日,备受关注的Zed项目宣布正式开源。Zed代码库将采用Copyleft许可证,其中编辑器部分使用GNUGeneralPublicLicense(GPL),服务器端组件则采用AfferoGeneralPublicLicense(AGPL)。此外,GPUIUI框架将以Apache2许可证分发,允许开发者构建高性能桌面应用程序,并自由选择许可证分发其应用。此次开源转变意味着Zed的代码和相关组件将面向所有开发者开放,赋予社区更大的灵活性和合作空间。最近在GitHu

c++ - `size` 来自哪里?

我知道在某个地方应该有一个我不关心的删除运算符。我只是想知道,哇,它奏效了。“大小”的说法从何而来?#include#includeclassBase{public:Base(){}void*operatornew(unsignedintsize,std::stringstr){std::cout结果如下:记录新对象“基本实例1”的16字节分配 最佳答案 由编译器在编译时提供。当编译器看到:new("Baseinstance1")Base;它将添加一个调用:Base::operatornew(sizeof(Base),"Basein

Visual Studio Code配置c/c++环境

VisualStudioCode配置c/c++环境1.创建项目目录2.vscode打开项目目录3.项目中添加文件4.文件内容5.配置编译器6.配置构建任务7.配置调试设置1.创建项目目录d:\>mkdird:\c语言项目\test012.vscode打开项目目录3.项目中添加文件4.文件内容#includeusingnamespacestd;intmain(){cout"helloworld"endl;return0;}5.配置编译器快捷键:Ctrl+Shift+P-->输入c++-->选中"C/C++:EditConfigurations(UI)"修改配置c_cpp_properties.j

c++ - 到处使用 std::size_t 是一种好习惯吗?

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:Whentousestd::size_t?我的代码中有很多常量是无符号数,例如计数器、截止频率、长度等。我开始对所有这些使用std::size_t,而不是int或unsignedint。这样做对吗?我启动它是因为STL容器将它用于它们的大小,它用于字符串位置等。

c++ - 使 size_t 和 wchar_t 可移植?

据我了解,size_t和wchar_t的表示完全是特定于平台/编译器的。例如,我读到Linux上的wchar_t现在通常是32位,但在Windows上是16位。有什么方法可以在我自己的代码中将它们标准化为一组大小(int、long等),同时仍然保持与两个平台上现有标准C库和函数的向后可比性?我的目标基本上是做一些类似typedef的事情,使它们成为固定大小。在不破坏某些东西的情况下这可能吗?我应该这样做吗?有没有更好的办法?更新:我想这样做的原因是我的字符串编码在Windows和Linux上都是一致的谢谢! 最佳答案 听起来您正在寻