gpt4 book ai didi

c++ - 识别两个函数

转载 作者:可可西里 更新时间:2023-11-01 18:31:26 29 4
gpt4 key购买 nike

我想创建一些在 Visual Studio (C++) 中使用的东西,也许是一个扩展,它将与内部的两个已知函数一起使用。让我试着解释一下。假设我有两个函数 start()stop()。我通常使用这些功能,例如:

start();
do something...
stop();

有时可能会搞不清楚什么是开始什么是停止:

start();
do something...
start();
do something...
start();
do something...
stop();
stop();
stop();

为了让我了解开始和停止的内容,我需要手动识别所有行。我想创建类似的东西:

start(){
do something....
start(){
do something ...
}
}

每次我关闭开始括号时,停止功能都会关闭,代码会更有条理。

你们知道如何完成这个或类似的事情吗?

最佳答案

在 C++11 中你可以编写这样的代码,但你需要了解高阶函数和 C++ lambda。

#include <iostream>

class Executor
{
public:
void perform(void (*routine)())
{
start();
routine();
stop();
}

void start() { std::cout << "start" << std::endl; }
void stop() { std::cout << "stop" << std::endl; }
};

int main()
{
Executor executor;
executor.perform([](){
std::cout << "perform 0" << std::endl;
});
executor.perform([](){
std::cout << "perform 1" << std::endl;
Executor executor;
executor.perform([](){
std::cout << "perform 10" << std::endl;
});
});
}

关于c++ - 识别两个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33311255/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com