小编Emy*_*scu的帖子

C++ - 析构函数的调用次数比预期的多

考虑以下代码:

class C1
{   public:

        C1(){ cout<<"CONSTR WAS HERE"<<endl; }

        C1(const C1&ob){ cout<<"COPY CONSTR WAS HERE"<<endl; }

        ~C1(){ cout<<"DESTR WAS HERE"<<endl; }
}

void f1(C1 x){  }

int main()
{
    C1 c1;
    f1(c1);
}
Run Code Online (Sandbox Code Playgroud)

如果我们按原样运行代码,我们得到:

CONSTR WAS HERE
COPY CONSTR WAS HERE
DESTR WAS HERE
DESTR WAS HERE
Run Code Online (Sandbox Code Playgroud)

从我的观点来看,这是完全可以理解的.但是,如果我们将函数"f1"修改为:

C1 f1(C1 x){}

代替

void f1(C1 x){}

我们得到:

CONSTR WAS HERE
COPY CONSTR WAS HERE
DESTR WAS HERE
DESTR WAS HERE
DESTR WAS HERE
Run Code Online (Sandbox Code Playgroud)

我不太清楚为什么

c++ oop constructor destructor

3
推荐指数
2
解决办法
154
查看次数

Javascript - 自动滚动到聊天底部

我有以下聊天:

<div class="container">
  <div class="jumbotron" id="chat" >
  </div>  

  <form (submit)="sendUserQueryToServer()">
      <div class="input-group">
          <input type="text" class="form-control" placeholder="Search" name="search" autocomplete="off" [(ngModel)]="userQuery">
          <div class="input-group-btn">
            <button class="btn btn-info"><i class="glyphicon glyphicon-search"></i></button>
          </div>
      </div>
  </form>
</div>
Run Code Online (Sandbox Code Playgroud)

使用以下 css:

#chat{
    background: lightgray;
    max-height: 60vh;
    height:60vh;
    overflow: auto;
    font-size: 1.5em;
}
Run Code Online (Sandbox Code Playgroud)

和脚本:

sendUserQueryToServer() {
    $("#chat").append(this.userQuery + "<br \>" );
}
Run Code Online (Sandbox Code Playgroud)

上面的代码被简化了,只留下了相关的部分。

这是相同的代码,“转换”为纯 js:https://jsfiddle.net/wcukrLfk/8/,基本上做同样的事情,你所要做的就是按下小按钮(你需要按下它大约20 次查看行为)。

如您所见,聊天是可滚动的,但是当 max-height 溢出时,它不会自动滚动到页面底部,它只会显示滚动条。如何让聊天自动滚动到页面底部?

javascript jquery twitter-bootstrap angular

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