gpt4 book ai didi

c++ - 将 C++ 方法声明从 .hh 文件移动到 .cc 文件

转载 作者:搜寻专家 更新时间:2023-10-31 02:00:55 28 4
gpt4 key购买 nike

我正在开发一个 C++ 项目,其中有很多类,这些类具有类、方法,并且都包含在一个文件中。这是一个大问题,因为方法实现通常需要#include 语句,并且任何想要使用类的文件都会传递地继承这些#include。我只是在想,如果有一个工具可以对 C++ 头文件执行以下操作,那就太好了:

  1. 将 C++ 头文件解析为两部分:一个声明类、类的数据和该类的方法的头文件,以及一个实现这些方法的单独文件。
  2. 从头文件中删除不必要的包含。
  3. 将必要的包含添加到实现文件中。

我知道解析 C++ 非常困难,但即使是一些不完美的工作也会比我现在正在做的重复文本编辑有所改进。有什么东西可以做这样的事情吗?还是我一直在选择是推出自己的解决方案还是使用我的文本编辑器来解决这个问题?

最佳答案

你在找类似 Lazy C++ 的东西吗? ?

Lzz is a tool that automates many onerous C++ programming tasks. It can save you a lot of time and make coding more enjoyable. Given a sequence of declarations Lzz will generate your header and source files.

同一个地方的例子:

    // A.lzz
class A
{
public:
inline void f (int i) { ... }
void g (int j = 0) { ... }
};
bool operator == (A const & a1, A const & a2) { ... }

Lzz will generate a header file:

// A.h
#ifndef LZZ_A_h
#define LZZ_A_h
class A
{
public:
void f (int i);
void g (int j = 0);
};
inline void A::f (int i) { ... }
bool operator == (A const & a1, A const & a2);
#endif

And a source file:

// A.cpp
#include "A.h"
void A::g (int j) { ... }
bool operator == (A const & a1, A const & a2) { ... }

关于c++ - 将 C++ 方法声明从 .hh 文件移动到 .cc 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1369958/

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