草庐IT

hash-code-uniqueness

全部标签

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++ - 是否可以在 Xcode 5.1 中使用 std::make_unique?

由于Xcode5.1包含clang3.4,因此应该可以使用std::make_unique。好像是在memory.h中定义的。但是,它需要有_LIBCPP_STD_VER>11但由于__cplusplus宏的值,它仍然设置为11(仍然是201103L).有办法改变吗? 最佳答案 如clangwebsite中所述,您需要启用-std=c++1y。Xcode在其“C++语言版本”选项中不包含此选项作为选项,因此您需要手动输入它。为此,您需要在项目定义打开时进入“编辑器”菜单,然后按“显示定义”。您现在应该能够手动将“C++语言方言”选项

c++ - "Use of undefined type"带有 unique_ptr 以转发声明的类和默认移动构造函数/赋值

在下面的代码中,是避免编译错误并在A.cpp中手动包含B.h实现移动构造函数/赋值的唯一方法吗?//A.h#includeclassB;//implementationsomewhereinB.h/B.cppclassA{public:A()=default;~A()=default;A(constA&)=delete;A&operator=(constA&)=delete;A(A&&)=default;A&operator=(A&&)=default;private:std::unique_ptrm_b;};VisualStudio2015给出“错误C2027:使用未定义类型”,因为

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++ - std::unique_ptr 删除函数,initializer_list - 驱动分配

全部,当我使用初始化列表格式实例化小部件数组时,指向成员变量小部件实例的裸指针可以编译,但在更改为std::unique_ptr后,gcc会给出有关已删除函数的编译错误。$uname-aLinux..3.5.0-21-generic#32-UbuntuSMP2012年12月11日星期二18:51:59UTCx86_64x86_64x86_64GNU/Linux$g++--versiong++(Ubuntu/Linaro4.7.2-5ubuntu1)4.7.2此代码给出以下编译器错误:#include#includeclassWidget{public:Widget(){}};class

c++ - 通过取消引用复制 std::unique_ptr 的值

我写了下面的代码,我试图将unique_ptr对象的值复制到一个结构中。#include#includeusingnamespacestd;structS{S(intX=0,intY=0):x(X),y(Y){}//S(constS&){}//S&operator=(constS&){return*this;}intx;inty;std::unique_ptrptr;};intmain(){Ss;s.ptr=std::unique_ptr(newS(1,4));Sp=*s.ptr;//Copythepointer'svaluereturn0;}它在VisualC++2012中弹出错误:

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++ - 如果 A 有析构函数,什么时候 std::unique_ptr<A> 需要一个特殊的删除器?

如果类A在unique_ptr它是自己的析构函数,是否有必要声明一个删除器以确保唯一指针使用该析构函数?我想到的例子是A有成员(member)mx类型user_matrix(我刚起的名字)需要调用一个函数free(...)要释放它的内存,可以定义~A(){user_matrix::free(mx);/*etc*/}自default_deleter会调用delete,据我了解应该使用~A().但是,Josuttis(C++标准库:教程和引用)一书的“相关资源的删除器”部分5.2节中打开和关闭目录的示例表明可能需要声明一个特殊的删除器来执行这个,所以我很困惑....这是因为在给定的示例中,

c++ - 复制构造函数以转移 unique_ptr 的所有权

我需要编写一个复制构造函数,它还转移被复制对象的unique_ptr成员的所有权。情况如下:classC{//Cclassstuff};classA{public:publicA();publicA(constA&a);private:std::unique_ptrc_;}classB{public:B(constA&b):a_(a){}private:Aa_;};我应该如何为A实现复制构造函数? 最佳答案 我猜你的意图或方法是错误的。复制构造函数旨在创建参数的拷贝,但由于unique_ptr保持唯一所有权,因此无法复制它。实际上,