草庐IT

namespace-package

全部标签

c++ - 如果我在 header 中声明 namespace ,是否可以避免在 .cpp 文件中使用类名?

这个问题在这里已经有了答案:C++:"Classnamespaces"?[duplicate](4个答案)关闭9年前。在C++中,我只想在.h文件中声明一个DisplayInfo类,然后在.cpp文件中,不必键入第一个DisplayInfo::DisplayInfo()和每个函数定义。遗憾的是,我已经查看了20多个主题和我的C++书籍两个多小时,但仍无法解决这个问题。我认为这是因为我正在尝试在C++中使用我10年的Java培训。第一次试验://DisplayInfo.hnamespaceDisplayInfoNamespace{ClassDisplayInfo{public:Displ

c++ - 模板类中函数指针的成员给出错误 : must be a class or namespace when followed by '::'

我试图在C++中声明一个模板函数指针。templateclassMyClass{public:typedefconstunsignedchar*(T::*MyTemplatedEvent)(unsignedlong&myParameter);};但出于某种原因,我不断收到此错误:'T':mustbeaclassornamespacewhenfollowedby'::'有人能告诉我哪里做错了吗?编译器应该知道T是一个类。它在MyClass声明上方这样说...... 最佳答案 对于T::*MyTemplatedEvent,您期望T是类类

c++ - 找不到 boost_process cmake find_package

我正在尝试将boost库导入我的C++项目,但出于某种原因它找不到Boost.Process,尽管它找到了其他库。我的CMakeLists.txt文件:cmake_minimum_required(VERSION3.9FATAL_ERROR)set(PROJECT_NAME"test-stuff"CXX)project(${PROJECT_NAME})set(Boost_USE_MULTITHREADEDON)find_package(Boost1.64.0REQUIREDsystemfilesystemprocess)if(Boost_FOUND)include_directorie

c++ - 什么时候 namespace::function() 声明有用?

单个文件示例这是一个使用命名空间的简单程序。#includenamespacefoo{voidhello();}voidfoo::hello(){std::cout这个程序可以很好地编译并产生预期的输出。$./a.outhello我想知道什么时候voidfoo::hello();声明有用?在这个程序中,显然这个声明是多余的。但既然存在这种语法,这在其他一些场景中一定有用吗?双文件示例这是一个示例,表明voidfoo::hello();单独声明是无用的。//foo.cpp#includenamespacefoo{voidhello();}voidfoo::hello(){std::cou

c++ - 未定义的 namespace 引用 - gsoap 错误

我在ubuntu工作,c++代码。使用gsoap和wsdl2h-oheader.hhttp://link1http://link2我已经成功地创建了.h,.cpp和.xml文件。当我#includeproxy1.h和#includeproxy2.h和他们的nmsp文件我收到以下错误:redefinitionof"Namespacenamespaces[]',previouslydefineshere.如何解决这个错误?当我使用:stdsoap2-i-C-Iimportheader.h我不能为每个url指定不同的命名空间吗?我想提一下stdsoap.cpp在我编译代码时使用。在stdso

c++ - 依赖于参数的查找在从另一个 namespace 别名的类型上出现意外行为

我刚刚遇到了一些与参数相关的查找的有趣行为,我并不完全理解:#includenamespacea{structFoo{Foo(intv1,intv2):v1(v1),v2(v2){}intv1,v2;};}namespaceb{templatestructBaz:T{usingT::T;};}namespacec{usingFoo=::b::Baz;//(1)NOTFOUNDBYADL//std::ostream&operator我明白了c::Foo实际上是b::Baz,所以当我在namespaceb中定义它时,ADL找到运算符有点有意义.但这似乎违背了在namespacec中定义运算

c++ - 如何使用 boost::packaged_task、函数参数和 boost::asio::io_service?

首先,我想为这篇冗长的帖子道歉。我想尽可能彻底。我已经在这个问题上停留了几天了,令人惊讶的是关于正确使用boost::packaged_task的信息很少。在具有输入参数的函数上。系统信息C++03boost1.54.0CMake2.8.9初始要求我有一个由客户端、服务器和设备组成的设置。客户端通过向服务器发送请求来与设备交互。这些请求被检查并路由到适当的设备。请求是异步处理的,偶尔会通过boost::asio::io_service::strand排队由于各种原因。请求被放入设备本身的本地队列中。当请求被确认(不一定完成)时,它会被分配一个ID,并返回给客户端。打包任务看完boost

c++ - 在 header 中使用未命名的 namespace 会如何导致 ODR 违规?

在GoogleC++风格指南中,Namespaces部分指出“在头文件中使用未命名的命名空间很容易导致违反C++统一定义规则(ODR)。”我明白为什么不在实现文件中使用未命名的命名空间会导致ODR违规,但不知道在header中使用如何做到这一点。这怎么会导致违规? 最佳答案 原因是如果你真的在匿名中使用任何东西命名空间,你冒着未定义行为的风险。例如:namespace{doubleconstpi=3.14159;}inlinedoubletwoPiR(doubler){return2.0*pi*r;}内联函数(以及类、模板和任何其他

c++ - 为什么我不能将此运算符重载放在与结构相同的 namespace 中?

我有以下代码:#include#includenamespaceX{std::ostream&operator&v){for(inti=0;ix;};std::ostream&operatorv(10,0);std::cout第一个重载有效,但第二个无效。由于某种原因,它找不到第一个。我收到错误:nomatchfor'operator}'and'conststd::vector')os我不明白为什么会出现此错误。例如,这样的事情似乎是完全有效的:namespaceA{voidfoo(){}namespaceB{voidbar(){foo();}}}但是,解决上述问题的唯一方法是将第二个

你真的了解package.json吗?

今天我们就来讲讲「package.json」。还有很多同学说,f_cli[1]啥时候开源。这里简单说一嘴,因为f_cli现在只适配了针对vite+react的模板,然后我想着想把vite+vue/webpack+react/vue/rsPack+vue/react最起码再适配1-2个后,才有开源计划。1.什么是package.jsonpackage.json 是JS/TS项目的说明书和指导手册按照功能来分类,package.json具有如下的功能:(有些功能是可以相互配合使用的)依赖管理一个成熟的语言,不仅仅需要在语言层面功能完备,还体现在构建大型项目时是否具有低成本的依赖管理能力。现在有许多