是否有可能在bash中扩展类似的东西
cd /u/lo/b<点击标签>
至
cd /usr/local/bin
?
"使用"私有成员变量使其成为公共成员,但构造函数保持私有.例:
class MyClass;
class Base
{
private:
Base(float v) : m_v{v} {}
float m_v;
friend MyClass;
};
class MyClass: public Base
{
public:
using Super = Base;
using Super::Super; // this is still private
using Super::m_v; // this is public
};
int main()
{
MyClass x{3.4f}; // error - calling a private constructor of class 'Base'
(void)x.m_v; // not an error
return 0;
}
Run Code Online (Sandbox Code Playgroud)
除了写这样的通用ctor之外还有其他方法吗?
template<typename... Args>
MyClass(Args&&... args) : Super(std::forward<Args>(args)...) {}
Run Code Online (Sandbox Code Playgroud)