草庐IT

C++标准

全部标签

c++ - 如何找到 `FILE*`的相对地址

要了解我为什么要做下面描述的事情,您可以阅读this题。简而言之:由于某种原因,库代码请求了一个未由相应类定义的函数,我的解决方案:通过我的自定义类扩展类,编写请求的函数并使用我的类。我有一个函数void*advance(uint64_tnbytes)会被一些库代码调用为memcpy(object.advance(nbytes),source,nbytes)。从advance()内部,我可以访问一个FILE*应该存储结果的地方,所以据我所知,我必须返回一个指针,该指针将具有相对地址到整个内存,但在FILE*中,以便库代码可以适本地编写。到目前为止我已经尝试过:void*advance(

c++ - 用户自定义转换的第二个标准转换顺序

我对标准转换序列术语有误解。我遇到了以下引用N3797§8.5.3/5[dcl.init.ref]:—Iftheinitializerexpression—isanxvalue(butnotabit-field),classprvalue,arrayprvalueorfunctionlvalueand“cv1T1”isreference-compatiblewith“cv2T2”,or—hasaclasstype(i.e.,T2isaclasstype),whereT1isnotreference-relatedtoT2,andcanbeconvertedtoanxvalue,clas

c++ - 为什么有些东西在 C++ 中留下未定义的行为?如果其中一些在标准中预先定义不是更好吗?

我是C++程序员。在网上冲浪期间,我熟悉了未定义行为、未指定行为、实现定义行为等术语。我想知道为什么有些事情没有定义?我知道C++与硬件很接近,但是真的很难为它们中的某些定义行为吗?如果是这样,他们为什么不这样做?这个问题是关于遗漏如此多的行为以供编译器实现的哲学。我认为并相信这样做有以下两个优点:1)Itallowsbetterperformance.Itsimplifiesthejobofcompiler,makingitpossibletogenerateveryefficientcodeincertainsituations.2)Itallowsflexibilitytocom

不包括 C++ 标准库头文件的 Python setuptools

我正在尝试将Python包装器编译为我编写的小型C++库。我编写了以下setup.py脚本来尝试使用setuptools来编译包装器:fromsetuptoolsimportsetup,Extensionimportnumpyasnpimportosatmcmodule=Extension('atmc',include_dirs=[np.get_include(),'/usr/local/include'],libraries=['mcopt','c++'],#myC++libraryisat./build/libmcopt.alibrary_dirs=[os.path.abspath

c++ - 非标准 gnu 案例范围的标准替代方案

我有一个快速解决方法的问题,以享受非标准gnu的好处caseranges.例如,非标准:case1...5:可以替换为:case1:case2:case3:case4:case5:可能一些宏解决方案可能是有序的。根据我的内存,宏循环无法循环进行大量迭代。出于这个原因,如果范围“很大”,比如以千为单位怎么办? 最佳答案 如果您在谈论预处理器循环,我猜您正在考虑来自boost的预处理器元编程。虽然它可能非常便携,但循环似乎仅限于255“迭代”。事实上,实现并不是一个真正的循环,它更像是一个硬编码的循环展开(因此是限制)。您当然可以将其扩

c++ - 是否有像 PSR-1/2 这样的 C++ 编码标准

我正在寻找C++编码标准。我发现了很多标准:谷歌C++风格指南高完整性C++编码标准4.0版...是否有每个C++开发人员都遵循的C++编码标准,如PSR-1/21?1)PHP标准推荐。PSR-1:基本编码标准。PSR-2:编码风格指南。 最佳答案 IsthereanyC++codingstandardlikePSR-1/2thateveryC++developerfollows?C++语言标准由ISOC++Committee正式制定.该标准带有(大部分)向后兼容的迭代和版本控制(如c++-11、c++-14、c++-17)。这实际

c++ - 使用 C++ 访问 OS X 上的标准目录

从C++访问OSX上标准目录的现代、标准、规范方法是什么,例如~/Library/ApplicationSupport或~/Library/Preferences?我看到提到使用CoreServices,但它也提到它已被弃用,我很难找到可以让我做更多事情的文档,而不仅仅是将代码粘贴进去。我找到了使用ObjectiveC++的提及,但是关于该选项的大部分信息都围绕着从ObjectiveC调用C++代码,而且Apple关于它的文档似乎相当稀疏​​,或者至少我没有成功找到它. 最佳答案 好吧,有一个鲜为人知的NSSystemDirecto

c++ - 删除结束迭代器是对标准的疏忽还是设计决策?

标准库容器允许我们删除由迭代器first和last表示的范围。std::vectorbar;//firstitlastitbar.erase(bar.begin(),bar.end());标准规定first迭代器必须有效并且可解引用,而last只需要有效。但是,如果first==last则first不需要取消引用,因为erase是空操作。这意味着以下内容是合法的:bar.erase(bar.end(),bar.end());但是,如果我只想删除一个元素而不是一个范围,则迭代器必须是有效的并且可解引用,从而导致以下未定义的行为:bar.erase(bar.end());为什么这不只是空操

3d怎么给材质贴图?标准答案在这里!

渲染效果图可以用渲染100哦,支持LUT和Acescg工作流等常用插件,最高支持max2024,cr11,vr6.2,同时森林插件7.43也进行了支持,注册填邀请码【7788】即可领券免费测试!材质球不够用:删除材质(仅影响编辑器示例窗口中的材质贴图),可重新编辑材质。原材质可用吸管重新吸取材质。材质中没有VR材质是因为渲染设置中不是VR材质渲染器。赋予模型:可将材质直接拖拽到模型上。也可以选中材质跟模型,将材质指定给选定对象键,即刻赋予材质。右键材质选择,可一次多选模型赋予材质。地板材质:VRaymtl,赋予材质,附加贴图的方法(1.直接拖拽、2.打开选择位图,然后选择图片)添加贴图后,颜色

c++ - 发布和调试编译程序的源代码是否有所不同? [C/C++]

到目前为止,我已经对C++编程有了更多的了解,并一直运行到整个“调试与发行”编译版本。现在,我觉得我对已发布和调试版本的已编译代码之间的某些差异有了相当不错的了解。对于代码的调试版本,编译器不会尝试优化代码,以便您可以运行调试器并逐行浏览程序。本质上,编译后的代码在执行方式上与源代码非常相似。在Release模式下编译时,编译器会尝试优化程序,使其具有相同的功能,但效率更高。但是,我很好奇发行版本和调试版本之间的源代码是否可以不同的实例。也就是说,当我们提到调试与发布时,我们是否总是在谈论编译后的代码,或者源代码中是否存在差异?出现此问题是由于我使用的是专有的编程语言,在该语言中,不存