试图理解使用push()或emplace()for 之间的区别std::stack.
我在想,如果我创建一个std::stack<int>,那么我会使用push()因为整数是一种原始类型而且没有任何东西emplace()需要构造.
但是,如果我正在创建,std::stack<string>那么我会选择emplace()因为std::string是一个对象.
这是正确的用法吗?
我真的有两个问题.我试图了解继承如何工作.
如果我有一个要继承的抽象类,并且它有一个未标记为抽象的方法,那么这个方法是否仍然需要在子类中实现?
如果我有一个继承自另一个子类的子类,然后继承自抽象类,那么最低的子类是否需要在抽象类中实现这些方法?或者因为方法已在中间子类中实现,它们不需要再次实现?
谢谢!
我正在尝试用Java编写来自codingbat.com的练习.我得到这个错误"令牌上的语法错误"返回",无效的类型"在这一小段代码上,我无法弄清楚为什么.我试图返回单词"hi"出现在给定String中的次数.谢谢!
public int countHi(String str) {
int count = 0;
for(int i = 0; i < str.length() - 1; i++){
if(str.substring(i, i + 2).equals("hi"));
count++;
}
}
return count;
}
Run Code Online (Sandbox Code Playgroud)