草庐IT

cset_members

全部标签

c++ - "error : a nonstatic member reference must be relative to a specific object"是什么意思?

intCPMSifDlg::EncodeAndSend(char*firstName,char*lastName,char*roomNumber,char*userId,char*userFirstName,char*userLastName){...return1;}extern"C"{__declspec(dllexport)intstart(char*firstName,char*lastName,char*roomNumber,char*userId,char*userFirstName,char*userLastName){returnCPMSifDlg::EncodeAnd

c++ - Effective C++ Item 23 Prefer non-member non-friend functions to member functions

在对类设计的一些事实感到困惑时,特别是函数是否应该是成员,我查看了Effectivec++并找到了第23条,即Prefernon-membernon-friendfunctionstomemberfunctions。使用Web浏览器示例第一手阅读该内容是有一定道理的,但是该示例中的便利函数(在书中像这样命名非成员函数)会改变类的状态,不是吗?那么,第一个问题,他们不应该是成员(member)吗?进一步阅读,他考虑了STL函数,实际上某些类没有实现的一些函数是在STL中实现的。按照本书的思路,它们演变成一些方便的函数,这些函数被打包到一些合理的命名空间中,例如std::sort、std:

c++ - Effective C++ Item 23 Prefer non-member non-friend functions to member functions

在对类设计的一些事实感到困惑时,特别是函数是否应该是成员,我查看了Effectivec++并找到了第23条,即Prefernon-membernon-friendfunctionstomemberfunctions。使用Web浏览器示例第一手阅读该内容是有一定道理的,但是该示例中的便利函数(在书中像这样命名非成员函数)会改变类的状态,不是吗?那么,第一个问题,他们不应该是成员(member)吗?进一步阅读,他考虑了STL函数,实际上某些类没有实现的一些函数是在STL中实现的。按照本书的思路,它们演变成一些方便的函数,这些函数被打包到一些合理的命名空间中,例如std::sort、std:

c++ - GCC 问题 : using a member of a base class that depends on a template argument

以下代码不能用gcc编译,但可以用VisualStudio编译:templateclassA{public:Tfoo;};templateclassB:publicA{public:voidbar(){cout我得到错误:test.cpp:Inmemberfunction‘voidB::bar()’:test.cpp:11:error:‘foo’wasnotdeclaredinthisscope但它应该是!如果我将bar更改为voidbar(){coutfoo然后它确实编译,但我不认为我必须这样做。GCC在此处遵循的C++官方规范中是否有某些内容,还是只是一个怪癖?

c++ - GCC 问题 : using a member of a base class that depends on a template argument

以下代码不能用gcc编译,但可以用VisualStudio编译:templateclassA{public:Tfoo;};templateclassB:publicA{public:voidbar(){cout我得到错误:test.cpp:Inmemberfunction‘voidB::bar()’:test.cpp:11:error:‘foo’wasnotdeclaredinthisscope但它应该是!如果我将bar更改为voidbar(){coutfoo然后它确实编译,但我不认为我必须这样做。GCC在此处遵循的C++官方规范中是否有某些内容,还是只是一个怪癖?

c++ - 单元测试 C++。如何测试私有(private)成员(member)?

我想为我的C++应用程序进行单元测试。测试类的私有(private)成员的正确形式是什么?创建一个可以测试私有(private)成员、使用派生类或其他技巧的friend类?测试API使用哪种技术? 最佳答案 通常,只测试问题评论中讨论的公共(public)接口(interface)。然而,有时测试私有(private)或protected方法是有帮助的。例如,实现可能具有一些对用户隐藏的重要复杂性,并且可以通过访问非公共(public)成员进行更精确的测试。通常最好想办法消除这种复杂性,或者想办法公开相关部分,但并非总是如此。允许单

c++ - 单元测试 C++。如何测试私有(private)成员(member)?

我想为我的C++应用程序进行单元测试。测试类的私有(private)成员的正确形式是什么?创建一个可以测试私有(private)成员、使用派生类或其他技巧的friend类?测试API使用哪种技术? 最佳答案 通常,只测试问题评论中讨论的公共(public)接口(interface)。然而,有时测试私有(private)或protected方法是有帮助的。例如,实现可能具有一些对用户隐藏的重要复杂性,并且可以通过访问非公共(public)成员进行更精确的测试。通常最好想办法消除这种复杂性,或者想办法公开相关部分,但并非总是如此。允许单

C++ 预处理器 : avoid code repetition of member variable list

我有多个类,每个类都有不同的成员变量,这些变量在构造函数中被简单地初始化。这是一个例子:structPerson{Person(constchar*name,intage):name(name),age(age){}private:constchar*name;intage;};每个都有一个关联的print()功能。templatevoidprint(constPerson&person){std::cout此代码容易出错,因为参数列表在四个位置复制。如何重写代码以避免这种重复?我想使用预处理器和/或模板。例如,我可以使用X-args预处理器技术吗?#defineARGUMENTS\A

C++ 预处理器 : avoid code repetition of member variable list

我有多个类,每个类都有不同的成员变量,这些变量在构造函数中被简单地初始化。这是一个例子:structPerson{Person(constchar*name,intage):name(name),age(age){}private:constchar*name;intage;};每个都有一个关联的print()功能。templatevoidprint(constPerson&person){std::cout此代码容易出错,因为参数列表在四个位置复制。如何重写代码以避免这种重复?我想使用预处理器和/或模板。例如,我可以使用X-args预处理器技术吗?#defineARGUMENTS\A

c++ - 公众好友交换成员(member)功能

在美丽的回答copy-and-swap-idiom有一段代码我需要一些帮助:classdumb_array{public://...friendvoidswap(dumb_array&first,dumb_array&second)//nothrow{usingstd::swap;swap(first.mSize,second.mSize);swap(first.mArray,second.mArray);}//...};他添加了一个注释Thereareotherclaimsthatweshouldspecializestd::swapforourtype,provideanin-cl