草庐IT

initial_file

全部标签

c++ - 术语的含义 - Resource Acquisition Is Initialization

我知道RAII的作用。当/如果代码抛出异常时,这都是为了防止内存泄漏等。现在,我想了解那个智能术语的含义。http://en.wikipedia.org/wiki/AcquisitionAcquisition意味着获得某物。那么,当我们说资源获取就是初始化时,这是什么意思?我只是在这里谈论这个术语的含义,而不是一般的概念。 最佳答案 之前有人说过(可能是ScottMeyers说的,我记不清了),RAII应该被称为“Destructionisresourcerelease”,或者类似的词。“资源获取即初始化”字面上的意思是,当一个对象

c++ - "crosses initialization of variable"仅当初始化结合声明时

我读过thisquestion关于“跳转到案例标签”错误,但我还有一些疑问。我在Ubuntu12.04上使用g++4.7。这段代码报错:intmain(){intfoo=1;switch(foo){case1:inti=0;i++;break;case2:i++;break;}}错误是jump-to-case-label.cpp:Infunction‘intmain()’:jump-to-case-label.cpp:8:8:error:jumptocaselabel[-fpermissive]jump-to-case-label.cpp:5:9:error:crossesinitia

c++ - 嵌套的 std::initializer_lists 的数据元素是否保证是连续的?

可以通过嵌套大括号括起来的列表来创建多维初始化器,如{{1,2,3},{4,5,6}}中所示。接受它的函数可以使用嵌套的std::initializer_list编写。是否保证数据元素是连续的?这是一个例子:voidf(std::initializer_list>a){for(autoconst&p:a)for(autoconst&q:p)std::cout上面的代码在我的机器上输出了连续的地址。0x400c600x400c640x400c680x400c6c0x400c700x400c74有保证吗?更新答案一定是否定的。voidg(std::initializer_lista,std

c++ - cmake install(FILES ...) 似乎不起作用

我有一个用C++编写的项目,我正在使用cmake来构建它。该项目有许多子项目,其中一个是其他子项目所需的库。我可以编译.so并将其移动到构建目录添加_库,和安装(目标...)但是我还需要将lib的头文件安装在构建目录的include目录下。我使用install(FILES...)来完成它,但它似乎根本没有做任何事情。为了演示它,我通过qtcreator创建了一个测试项目,&lstestCMakeLists.txtempty.hhmain.cpp$cattest/CMakeLists.txtproject(test)cmake_minimum_required(VERSION2.8)in

c++ - Python ctypes : initializing c_char_p()

我写了一个简单的C++程序来说明我的问题:extern"C"{inttest(int,char*);}inttest(inti,char*var){if(i==1){strcpy(var,"hi");}return1;}我把它编译成一个so.从python我调用:fromctypesimport*libso=CDLL("Debug/libctypesTest.so")func=libso.testfunc.res_type=c_intforiinxrange(5):charP=c_char_p('bye')func(i,charP)printcharP.value当我运行它时,我的输出

c++ - Visual Studio : What exactly are lib files (used for)?

我正在学习C++,遇到了那些显然被链接器使用的*.lib文件。我必须为OpenGL设置一些额外的依赖项。在此上下文中,库文件的具体用途是什么?它们的内容是什么?它们是如何生成的?还有什么值得了解的吗?或者它们只不过是类似于*.obj文件的可重定位目标代码? 最佳答案 简单来说,是的-.lib文件只是.obj文件的集合。在Windows上有一点复杂,您可以有两类lib文件。静态lib文件本质上包含.obj的集合,并与您的程序链接以提供.lib中的所有功能。它们主要是为了方便您处理尽可能多的文件。还有stub.lib,它只提供包含在.d

安卓文件传输工具---Android File Transfer中文

AndroidFileTransfer是一款专为安卓设备设计的文件传输工具,可以帮助用户快速方便地在安卓设备和计算机之间传输文件。这款软件支持多种文件类型,包括图片、音乐、视频、文档等,使得用户可以轻松地将文件从计算机传输到安卓设备,或从安卓设备传输到计算机。AndroidFileTransfer具有简单易用的界面和操作方式,使用户能够轻松进行文件传输。用户可以通过USB连接将文件传输到安卓设备,也可以将文件从安卓设备传输到计算机。此外,该软件还提供了文件和文件夹管理功能,使用户可以轻松浏览设备的存储空间,创建、删除、重命名和移动文件和文件夹。总的来说,AndroidFileTransfer是

c++ - 如何解决 "cannot open file ' LIBCD.lib'”在visual studio 2008?

尝试编译我下载的一些代码时,出现链接错误LNK1104:无法打开文件“LIBCD.lib”。我无法在我的电脑上的任何地方找到这个文件。它是什么,我可以从某个地方下载吗?还有另一种方法可以使代码工作吗? 最佳答案 在我的例子中,我只在ConfigurationProperties->Linker->Input->中写了“LIBCD.lib”忽略特定库 关于c++-如何解决"cannotopenfile'LIBCD.lib'”在visualstudio2008?,我们在StackOverfl

c++ - 将 system(file) 命令的输出存储为 C 中的字符串

要获取文件类型我们可以执行命令system("file--mime-type-bfilename");输出显示到终端。但无法使用命令存储文件类型charfile_type[40]=system("file--mime-type-bfilename");那么如何使用system(file)函数将文件类型存储为字符串。 最佳答案 参见system的手册页:它不返回执行命令的输出(而是错误代码或命令的返回值)。你想要的是popen。它返回一个FILE*,您可以使用它来读取命令的输出(有关详细信息,请参阅popen手册页)。

c++ - initializer_list 和参数相关的查找

我正在尝试将std::initializer_list用作使用参数相关查找(ADL)的函数中的参数。但我没有让它工作,我不明白为什么。以下是一个最小的失败示例:#include#includeclassFoo{public:inlinefriendvoidbar(std::initializer_listv){std::coutv){std::cout如上所示,等效的全局函数工作得很好。为什么以上不起作用?我在OSX10.10上使用clang。 最佳答案 我认为问题在于子表达式1{a,a}没有真正的类型,因此它没有关联的类型或命名空