识别两个函数
Ident two functions
我想创建一些在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;
});
});
}
您也可以这样做。
start();
{
//do something...
start();
{
//do something...
start();
{
//do something...
}
stop();
}
stop();
}
stop();
它将帮助您定义start();
stop();
语句// do something
属于哪个。
相关文章:
- 如何巧妙地编写两个函数——一个用于检查是否存在解决方案,另一个用于获取所有解决方案
- 两个函数模板候选项.将一个参数作为引用后,选择不太专业的模板
- 如何比较两个函数的速度和性能
- 如何在构造器的成员初始值设定项列表中调用两个函数?
- 如何将这两个函数组合成一个实现?
- 将具有相反操作数的两个函数重构为一个
- 创建整数的 2D 数组,该数组将使用两个函数用随机数填充矩阵.我做错了什么?
- 具有相同主体的两个函数具有不同的名称
- 通过作为类的公共成员的两个函数将函数作为参数传递
- 如何使用排序和比较这两个函数在 c++ 中对字符数组进行排序?
- 是否可以在C++中将两个函数一起添加
- C++ 两个函数除了一行之外执行相同的操作
- 如何编写连接两个函数的函数
- 如何执行两个函数参数具有相同的模板类型
- 当两个函数位于一行中时,堆栈框架的样子
- 为什么这两个函数的行为不同
- 为什么当我有两个函数时编译器没有显示错误,一个将采用基类,一个将派生类作为参数
- 系统堆栈中的两个函数的递归调用(将不同数量的数组作为参数传递)有什么区别
- 如何在一个构造函数中使用两个可变参数模板参数来绑定两个函数
- 如何在c++中的两个函数中传递对象的同一实例