草庐IT

namespace-scoped

全部标签

c++ - 跨文件共享静态变量 : namespace vs class

这里有很多关于静态与全局的问题,但我认为我的问题有点不同。我想知道是否有一种方法可以像类中的静态变量那样跨文件共享放置在命名空间中的变量。例如,我这样编码://Foo.hclassFoo{public:staticintcode;staticinttimes_two(intin_);};namespacebar{staticintkode;}-//Foo.cppintFoo::code=0;intFoo::times_two(intin_){bar::kode++;code++;return2*in_;}-//main.cppintmain(){cout代码和kode的所有结果:Foo

c++ - using namespace std 的排序;包括?

我最近在C++项目的源文件中看到这段代码:usingnamespacestd;#include忽略所有关于拥有usingnamespacestd是否是个好主意的问题上面的代码是否合法?这两行之前的文件中没有代码。我原以为这不会编译,因为namespacestd直到#include才在范围内声明指令将其包含到文件中,但是使用项目的构建系统编译就可以了。如果有人链接到规范的相关部分,将不胜感激。 最佳答案 一个可能很有趣的数据点。当我编译以下内容时:usingnamespacestd;usingnamespaceno_such_name

c++ - 使用不带前缀 "std"且不带 "using namespace std;"的 std::sort() 编译成功

由于sort()是在namespacestd中定义的,因此它必须始终用作std::sort。但以下代码编译正确即使没有std。#include#includeintmain(){std::vectornums={4,3,1,7,2,0};sort(nums.begin(),nums.end());}ideone.com但是这段代码没有。#include#includeintmain(){std::arraynums={4,1,8,9,6};sort(nums.begin(),nums.end());}使用启用了-std=c++11标志的gcc4.8.4。从这两个代码片段中可以清楚地看出

c++ - isnan 在 std::namespace 中吗?更一般地说,什么时候 std::是必要的、可选的或要避免的?

在Mingw4.7.2中,我有一个库因为调用了isnan而无法编译。.如果我使用std::isnan,编译器会说“一切都会好起来的”,实际上我设法编译了我的文件。但是如果我检查here(编辑:但也许我还应该检查here:-)),std::似乎没有必要。如果我添加它,文件是否可以移植?更一般地说,对于每种情况,在放置std::时都有一种通用的理解方式是必要的(为了便携性)、可选的还是要避免的?编辑确实,问题的根源之一是包含多个header,其中一些包含的header包括,而这个cpp文件试图包含(当已经包含在内时)。 最佳答案 这取决

C++:可以在构造函数中初始化 boost::scoped_ptr 吗?

boost::scoped_ptr类型的类成员可以在类的构造函数中初始化吗?怎么样?(不在初始化列表中) 最佳答案 是的。你可以使用reset()成员函数。classfoo{public:foo(){p.reset(newbar());}private:boost::scoped_ptrp;}; 关于C++:可以在构造函数中初始化boost::scoped_ptr吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverf

c++ - 错误 : '_hypot' was not declared in this scope

我正在尝试使用GCC和makefile在Windows上编译一个c++程序。我收到以下错误c:\mingw\include\math.h:Infunction'floathypotf(float,float)':c:\mingw\include\math.h:635:30:error:'_hypot'wasnotdeclaredinthisscope{return(float)(_hypot(x,y));}我读到任何包含在GCC上的文件都需要-lm链接器标志。所以我已经将它添加到我的makefile中,但它并没有解决问题......这是我的生成文件CC:=g++CFLAGS:=-std

ruby-on-rails - 启动 Rails 服务器时出现奇怪的 "no such file to load -- redis-namespace"异常

我正在使用Rails2.3.8+redis+resque+redis-namespace这是我的environment.rb的一部分config.gem'jrails'config.gem'haml'config.gem'redis'config.gem'redis-namespace'config.gem'resque这是我的gemlistredis(2.0.3)redis-namespace(0.7.0)resque(1.9.7)当我通过“脚本/服务器”启动我的服务器时,它显示这样的异常:=>Rails2.3.8applicationstartingonhttp://0.0.0.0

ruby-on-rails - rails : Namespace redis on a per-request basis for a multi-tenency app

考虑一个multi-tenancyrails应用。我如何在每个请求的基础上命名空间我的redis连接,以便每个租户都生活在自己的命名空间中?Multi-Tenancy对于Multi-Tenancy,我使用apartmentgem.通过读取request.host来确定每个请求的租户。#config/initializers/apartment.rb#Rails.application.config.middleware.use'Apartment::Elevators::Generic',lambda{|request|Tenant.find_identifier_by_host(re

python - 如何使用 django-redis 访问其余的较低 namespace ?

如何使用django-redis访问其余的较低namespace?cache.keys("*")只给我namespace1:1:TEST,这是我通过django-redis输入的key。请参见下图,这是我能够访问的唯一namespace。我如何访问这些Assets的其余部分?谢谢!凯西 最佳答案 您可以执行以下操作以直接访问redis客户端以访问这些值:fromdjango.core.cacheimportcachesdefault_cache=caches['default']redis=default_cache.get_mas

ruby-on-rails - Ruby on Rails 和 Redis:未初始化的常量 Redis::Namespace

我正在弄乱路由并决定重新启动Rails服务器,但我最终收到了这个错误。我在railsserver2.8.4上使用ruby​​onrails5。我尝试运行bundleupdate以查看是否可以解决问题、重新启动计算机并重新启动redis服务器。我还尝试将redis.rb文件重命名为test.rb所以如果它可能是其他堆栈溢出问题中所述的名称冲突来self的控制台终端的错误:/home/ubuntu/workspace/config/initializers/redis.rb:1:in`':uninitializedconstantRedis::Namespace(NameError)fro