News for hackers. Stuff that matters.
Re:Overview: What are Cpp2 and cppfront? How do I get and bu... by colonwqbang on Sunday March 31, 2024 @06:51PM (#39888912)
I think it can be both things.

Haven't you ever seen someone do

    struct Thing;
    struct OtherThing;
in lieu of just including "thing.h"? I see it frequently in real life code bases and I can't see a reason for it other than compilation time optimisation.
Re:Overview: What are Cpp2 and cppfront? How do I get and bu... by gumby on Sunday March 31, 2024 @06:59PM (#39888972)
Sure, I do that all the time too. But you can't call a method (or look inside Thing, or pass it as an argument, only a pointer to it) without including the definition.

Hmm, there might be some interesting linker hacks to patch things up post compilation. But then you'd want some way to do the forward declaration for cases where Thing could have been passed in registers...

Re:Overview: What are Cpp2 and cppfront? How do I get and bu... by DerekL on Sunday March 31, 2024 @09:08PM (#39889884)
This is sometimes required to break dependency cycles. Also, you can use this to rearrange declarations in the same file.