我正在使用Angular 5.
我想知道如何在按下"播放"按钮时开始计时,以便知道自我点击后已经过了多少时间.
我还想知道是否可以停止计时器,然后能够在之前的同一时间继续.
我终于用Pardeep Jain的答案解决了我的问题.虽然这不是我想要的.我不想倒计时,我想计算持续时间.这是我最后使用的代码:
time: number = 0;
interval;
startTimer() {
this.play = true;
this.interval = setInterval(() => {
this.time++;
},1000)
}
pauseTimer() {
this.play = false;
clearInterval(this.interval);
}
Run Code Online (Sandbox Code Playgroud) 我的 C++ 编译器标识是 GNU 4.4.1
我认为从 c++ 11 开始,您可以通过以下方式初始化向量:
const std::vector<int> myVector = {1, 2, 3};
const std::vector<int> myVector2{1, 2, 3};
Run Code Online (Sandbox Code Playgroud)
不幸的是,我没有使用 c++ 11,所以 myVector 只能由构造函数初始化。我需要创建一个永远不会被修改的向量。它必须由类中的不同函数共享,因此它也可以是静态的,甚至是类成员。有没有办法让我的向量在 c++98 中定义时被初始化,如上面的例子,或者等价的东西?
我一直在尝试捕获 std 函数 lambda 中的一些参数包参数,以便将函数保存在内存中以供将来使用。
然而,在某些情况下,如果这些捕获的参数中的任何值在捕获后被修改,则这些参数的未来使用不会达到预期的效果。
我想在我的 std 函数中存储参数包的不可变副本。
该代码将作为库实现,因此用户可以使用它来保存一些文本以供将来打印。这样我们就无法管理参数包中收到的参数。此示例必须对字符串、const char *、int、float 有效...
这是示例代码:代码链接
template <typename... Args>
void doPrint(std::ostream& out, const Args &... args)
{
using expander = int[];
(void)expander{0, (void(out << args), 0)...};
}
template<typename... Args>
void printArgs(const Args & ... args)
{
doPrint(std::cout, args...);
}
class PrintTest
{
private:
std::vector<std::function<void()>> myFunctions;
public:
template<typename... Args>
void saveText(const char * text, const Args & ... args)
{
std::function<void()> f = [this, text, args...]()
{
std::cout << text;
printArgs(args ...); …Run Code Online (Sandbox Code Playgroud)