小编h9u*_*est的帖子

PostgreSQL错误:致命:角色"用户名"不存在

我正在设置我的PostgreSQL 9.1.我对PostgreSQL无能为力:不能createdb,不能createuser; 所有操作都返回错误消息

Fatal: role h9uest does not exist
Run Code Online (Sandbox Code Playgroud)

h9uest是我的帐户名,我sudo apt-get install在这个帐户下的PostgreSQL 9.1.
root帐户仍然存在类似的错误.

authentication postgresql

652
推荐指数
13
解决办法
67万
查看次数

C++ protected:无法从派生类中访问base的受保护成员

不可否认,这个问题标题听起来与迈克一再提出的邻居问题完全相同.我发现了很多相同问题的问题,但没有一个是我的问题.

首先,我想澄清一下这个问题的背景:

1,c ++访问控制基于类而不是基于实例.因此,以下代码完全有效.

class Base
{
protected:
    int b_;

public:
    bool IsEqual(const Base& another) const
    {
        return another.b_ == b_; // access another instance's protected member
    }
};
Run Code Online (Sandbox Code Playgroud)

2,我完全理解为什么以下代码无效 - 另一个代码可能是兄弟实例.

class Derived : public Base
{
public:
    // to correct the problem, change the Base& to Derived&
    bool IsEqual_Another(const Base& another) const
    {
        return another.b_ == b_;
    }
};
Run Code Online (Sandbox Code Playgroud)

现在是时候卸载我真正的问题了:

假设在Derived类中,我有一个Base实例数组.如此有效,Derived IS A Base(IS-A关系),Derived由Base(复合关系)组成.我从某个地方读到这个(指的是IS-A和Has-A的设计)是一种设计气味,我首先应该永远不会有这样的场景.嗯,例如,Fractals的数学概念可以通过IS-A和Has-A关系建模.但是,让我们暂时忽略对设计的看法,只关注技术问题.

class Derived : public Base
{
protected:
    Base base_;

public:
    bool IsEqual_Another(const Derived& another) …
Run Code Online (Sandbox Code Playgroud)

c++ inheritance protected access-control

5
推荐指数
1
解决办法
1098
查看次数

赋值算子左/右侧的不同切片行为

作为来自C++背景的Python新手,Python(3.4.x)中的切片运算符对我来说看起来很荒谬.我只是没有得到"特殊规则"背后的设计理念.让我解释为什么我说它是"特殊的".

一方面,根据此处的Stack Overflow答案,切片运算符创建列表或列表的一部分(深度)副本,即新列表.链接可能是旧的(早于python 3.4.x),但我刚用python 3.4.2进行了以下简单实验确认了这种行为:

words = ['cat', 'window', 'defenestrate']
newList = words[:] # new objects are created; a.k.a. deep copy
newList[0] = 'dog'

print(words) # ['cat' ...
print(newList) # ['dog' ...
Run Code Online (Sandbox Code Playgroud)

另一方面,根据这里的官方文件:

Assignment to slices is also possible, and this can even change the size of the list or clear it entirely:
>>>

>>> letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
>>> letters ['a', 'b', 'c', 'd', 'e', 'f', 'g']
>>> …
Run Code Online (Sandbox Code Playgroud)

python operators deep-copy slice python-3.x

3
推荐指数
1
解决办法
662
查看次数

Java Enum:一次获取多个值

如我错了请纠正我:

  1. 枚举是一种类型
  2. 某个枚举类型的对象一次只能获取1个枚举值

现在我有一个问题:假设我已经定义了一个枚举(或其他一些适合该任务的数据结构;我无法命名,因为我正在寻找这样的数据结构来完成以下任务)在我的java程序中的某个地方.如果,不知何故,我在main(String [])中有一个枚举(或其他一些数据结构)对象,并且我希望它采用枚举(或其他一些数据结构)的多个值,我该怎么做?如果不是枚举,我应该使用哪种合适的数据结构?

提前致谢!

java enums multiple-value

2
推荐指数
1
解决办法
4431
查看次数