草庐IT

static-indexers

全部标签

从一个 "index" 文件谈起:如何合理命名你的项目

在开发过程中,命名规范对于整个项目是非常重要的,特别是在文件命名上,合理和统一的命名方式将不仅能提高团队协作效率,也能够让代码更易读、易维护。内容将以前端项目中 index 命名文件的作用为入口,逐步探究在前端开发中的命名规范及其实际应用,希望能够给新手或初学者一些启示。什么是 index 命名文件?我们先来看一个具体的例子。在一个前端项目中,通常需要管理多个页面,而每个页面中有一些固定的主要内容。比如,我们的首页一般会有头部、尾部、导航栏等元素,那么这一部分的代码就可以被放在一个名为 index 的文件中。简单来说,当我们在访问一个目录时没有指定文件名(例如www.example.com/h

.net - COM 互操作 : indexed property signature issues

我正在开发一个项目,该项目是对一个相当大的经典ASP项目的.NET扩展,使用了大量C++COM对象,这些对象一直存在于我们的代码库中。不幸的是,C++端有很多hack-ish代码,我担心我没有足够的经验来解决我遇到的问题。简而言之,我可以实例化有问题的COM对象,VisualStudio告诉我应该能够调用它的“方法”(在引号中,因为它们实际上作为参数化属性公开)。但是,我尝试调用的任何方法都会给我错误“索引属性‘CoreAspLib.IComUser.LoginUser’具有必须提供的非可选参数。”问题是,我使用的参数与经典ASP世界中使用的参数完全相同,甚至属性的IntelliSen

C++ : Initializing base class constant static variable with different value in derived class?

我有一个带有常量静态变量a的基类A。我需要类B的实例对静态变量a具有不同的值。这怎么能实现,最好是静态初始化?classA{public:staticconstinta;};constintA::a=1;classB:publicA{//???//Howtoset*a*toavaluespecifictoinstancesofclassB?}; 最佳答案 你不能。所有派生类共享一个静态变量实例。 关于C++:Initializingbaseclassconstantstaticvaria

c++ - 在派生对象到基类的 "this"指针上使用 static_cast 的问题

这是取自EffectiveC++3ed的一个例子,它说如果这样使用static_cast,对象的基础部分被复制,并且调用从该部分调用。我想了解幕后发生的事情,有人会帮忙吗?classWindow{//baseclasspublic:virtualvoidonResize(){}//baseonResizeimpl};classSpecialWindow:publicWindow{//derivedclasspublic:virtualvoidonResize(){//derivedonResizeimpl;static_cast(*this).onResize();//cast*thi

c++ - std::static_pointer_cast 与 static_cast<std::shared_ptr<A>>

我有一个类层次结构,其中B源自A像这样:classA:publicstd::enable_shared_from_this{};classB:publicA{voidf(){//thecodebelowcompilesstd::shared_ptrcopyOfThis=std::static_pointer_cast(shared_from_this());//thecodebelowdoesnotstd::shared_ptrcopyOfThis=static_cast>(std::make_shared(shared_from_this()));}};所以实际上我想了解为什么我不能

c++ - NULL 指针与 static_cast 的兼容性

Q1。为什么在static_cast中使用NULL指针会导致崩溃,而dynamic_cast和reinterpret_cast会返回NULL指针?问题发生在类似于下面给出的方法中:voidA::SetEntity(B*pEntity,intiMyEntityType){switch(iMyEntityType){caseENTITY1:{Set1(static_cast(pEntity));return;}caseENTITY2:{Set2(static_cast(pEntity));return;}caseENTITY3:{Set3(static_cast(pEntity));ret

c++ - static_if 会弃用模板特化吗?

像这样的一些常用模板特化:templateclassC{voidcommon(){...}voidf2=delete;};templateclassC{voidcommon(){...}voidf1(){...}};可以用static_if表示作为:templateclassC{voidcommon(){...}static_if(std::is_same::value){voidf1(){...}}else{voidf2()=delete;}}这些是直接竞争的功能吗?模板特化可以做static_if做不到的事情吗?看起来static_if可以做模板特化可以做的一切,甚至更多。顺便说一

c++ - 未解析的外部符号 "private: static int Math::result"

这个问题在这里已经有了答案:Whatisanundefinedreference/unresolvedexternalsymbolerrorandhowdoIfixit?(38个答案)关闭8年前。这是我的类定义:#includeusingnamespacestd;classMath{private:staticintresult;public:staticintadd(inta,intb){result=a+b;returnresult;};};这是主要的:#include#include"Amin.cpp"usingnamespacestd;intmain(){Math::add(2

c++ - 关于带有函数和数据的static关键字的问题

我有几个关于C++中的static关键字的问题(可能还有其他语言。)将函数声明为静态的目的是什么?voidstaticfoo(intaNumber){...}静态内联函数怎么样?voidstaticinlinefoo(intaNumber){...}在函数中使用static关键字有什么好处吗?这些好处是否也适用于类函数?我意识到某些数据类型(如结构和数组)在使用较旧的编译器进行编译时必须是静态的,但是在使用新的ANSI-C++编译器(如MSVC++2008)时有什么意义吗?我知道在循环内使用静态变量可以通过将数据保存在内存中而不是在每次循环迭代时重新分配内存来节省时间,但是当变量只声明

c++ - 没有堆的 static const std::vector<char> 初始化?

假设我想要一个无符号字符的std::vector。它是用初始化列表(这是C++11)初始化的,永远不会改变。我想避免任何堆分配,即使在启动时也是如此,并让整个vector像const字符串一样存在于数据段中。那可能吗?IE:staticconstvectorv{0x1,0x2,0x3,0x0,0x5};(这是一个有点学术性的问题;我知道为此使用C数组并不难。) 最佳答案 为什么不直接使用std::array为此?staticconststd::arrayv{0x1,0x2,0x3,0x0,0x5};这避免了任何动态分配,因为std: