#cppdev — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #cppdev, aggregated by home.social.
-
I might have to explore C++ RAAI concept sooner or later for #GitRaven.
It is getting difficult manually free-ing memory used via libgit2. I am having to think about and write if checks for all the edge cases across my GitManager class.
ChatGPT suggested this after I mentioned this issue and it sounds like it's useful.
-
I might have to explore C++ RAAI concept sooner or later for #GitRaven.
It is getting difficult manually free-ing memory used via libgit2. I am having to think about and write if checks for all the edge cases across my GitManager class.
ChatGPT suggested this after I mentioned this issue and it sounds like it's useful.
-
I might have to explore C++ RAAI concept sooner or later for #GitRaven.
It is getting difficult manually free-ing memory used via libgit2. I am having to think about and write if checks for all the edge cases across my GitManager class.
ChatGPT suggested this after I mentioned this issue and it sounds like it's useful.
-
I might have to explore C++ RAAI concept sooner or later for #GitRaven.
It is getting difficult manually free-ing memory used via libgit2. I am having to think about and write if checks for all the edge cases across my GitManager class.
ChatGPT suggested this after I mentioned this issue and it sounds like it's useful.
-
Final part of my terminal text editor series is live. Part 3 covers the View layer, choosing FTXUI over ncurses, simulating a cursor in the terminal, and translating keyboard events into semantic input types.
This wraps up the wordNebula Phase 1 series. All three parts are linked together.
https://ilean.me/blog/building-a-terminal-text-editor-the-view-part-3/
#CPlusPlus #OpenSource #TerminalUI #TextEditor #Programming #SoftwareDevelopment #CppDev #cpp
-
Do you know what happens when you write Qt + C++ code with web dev experience? Your mental model for memory management (which is non-existent because JS has GC), leads to memory leaks.
It's so bad I had to:
1. rewrite most of the init code for member variables in almost all widgets so the expectation of "WidgetA" from "child C" of MainWindow is available when "WidgetB" emits a signal.2. currently debugging memory leak when MainWindow is closed - huh?
Yup, I have a WindowActivate event that triggers a "status" update and ALL important widgets listen to the signal emitted by THIS fn to update the state.3. A connect() is causing seg fault right now when I update the widget's state multiple times in a row. (still haven't checked this out yet)
4. clang-tidy is labelling cosmetic things like "Class *obj = new Class();" into "auto *obj = new Class();" and my OCD is annoyed.
-
Do you know what happens when you write Qt + C++ code with web dev experience? Your mental model for memory management (which is non-existent because JS has GC), leads to memory leaks.
It's so bad I had to:
1. rewrite most of the init code for member variables in almost all widgets so the expectation of "WidgetA" from "child C" of MainWindow is available when "WidgetB" emits a signal.2. currently debugging memory leak when MainWindow is closed - huh?
Yup, I have a WindowActivate event that triggers a "status" update and ALL important widgets listen to the signal emitted by THIS fn to update the state.3. A connect() is causing seg fault right now when I update the widget's state multiple times in a row. (still haven't checked this out yet)
4. clang-tidy is labelling cosmetic things like "Class *obj = new Class();" into "auto *obj = new Class();" and my OCD is annoyed.
-
Do you know what happens when you write Qt + C++ code with web dev experience? Your mental model for memory management (which is non-existent because JS has GC), leads to memory leaks.
It's so bad I had to:
1. rewrite most of the init code for member variables in almost all widgets so the expectation of "WidgetA" from "child C" of MainWindow is available when "WidgetB" emits a signal.2. currently debugging memory leak when MainWindow is closed - huh?
Yup, I have a WindowActivate event that triggers a "status" update and ALL important widgets listen to the signal emitted by THIS fn to update the state.3. A connect() is causing seg fault right now when I update the widget's state multiple times in a row. (still haven't checked this out yet)
4. clang-tidy is labelling cosmetic things like "Class *obj = new Class();" into "auto *obj = new Class();" and my OCD is annoyed.
-
Do you know what happens when you write C+++ Qt code with web dev experience? Your mental model for memory management (which is non-existent because JS has GC), leads to memory leaks.
It's so bad I had to:
1. rewrite most of the init code for member variables in almost all widgets so the expectation of "WidgetA" from "child C" of MainWindow is available when "WidgetB" emits a signal.2. currently debugging memory leak when MainWindow is closed - huh?
Yup, I have a WindowActivate event that triggers a "status" update and ALL important widgets listen to the signal emitted by THIS fn to update the state.3. A connect() is causing seg fault right now when I update the widget's state multiple times in a row. (still haven't checked this out yet)
4. clang-tidy is labelling cosmetic things like "Class *obj = new Class();" into "auto *obj = new Class();" and my OCD is annoyed.
-
Do you know what happens when you write Qt + C++ code with web dev experience? Your mental model for memory management (which is non-existent because JS has GC), leads to memory leaks.
It's so bad I had to:
1. rewrite most of the init code for member variables in almost all widgets so the expectation of "WidgetA" from "child C" of MainWindow is available when "WidgetB" emits a signal.2. currently debugging memory leak when MainWindow is closed - huh?
Yup, I have a WindowActivate event that triggers a "status" update and ALL important widgets listen to the signal emitted by THIS fn to update the state.3. A connect() is causing seg fault right now when I update the widget's state multiple times in a row. (still haven't checked this out yet)
4. clang-tidy is labelling cosmetic things like "Class *obj = new Class();" into "auto *obj = new Class();" and my OCD is annoyed.
-
Part 2 of my terminal text editor series is live. This one covers the Presenter layer — smart pointer ownership, breaking circular dependencies with weak_ptr, routing keyboard input through semantic events, and managing viewport state.
https://ilean.me/blog/building-a-terminal-text-editor-the-presenter-part-2/
#CPlusPlus #OpenSource #TerminalUI #TextEditor #Programming #SoftwareDevelopment #CppDev #MVP #cpp
-
-
-
-
-
I am making time for #GitRaven project again. It had stalled for sometime due to other commitments.
Today, I learned C++ and Qt lifetimes, the advantages of member initializer lists. I still have one more issue to fix w.r.t this topic but I will hold it off a little longer, switching my focus on adding features.
-
I am making time for #GitRaven project again. It had stalled for sometime due to other commitments.
Today, I learned C++ and Qt lifetimes, the advantages of member initializer lists. I still have one more issue to fix w.r.t this topic but I will hold it off a little longer, switching my focus on adding features.
-
I am making time for #GitRaven project again. It had stalled for sometime due to other commitments.
Today, I learned C++ and Qt lifetimes, the advantages of member initializer lists. I still have one more issue to fix w.r.t this topic but I will hold it off a little longer, switching my focus on adding features.
-
I am making time for #GitRaven project again. It had stalled for sometime due to other commitments.
Today, I learned C++ and Qt lifetimes, the advantages of member initializer lists. I still have one more issue to fix w.r.t this topic but I will hold it off a little longer, switching my focus on adding features.
-
Can somebody point me towards a Myers diff algorithm in a C++ project?
I am looking for the following data as diff result:
1. (old) line number
2. (old) column number
3. (new) line number
4. (new) column number.Need the above info so I can ask my text editor widget to highlight the line and column as to what was added/deleted.
Please reboost for reach :)
-
Can somebody point me towards a Myers diff algorithm in a C++ project?
I am looking for the following data as diff result:
1. (old) line number
2. (old) column number
3. (new) line number
4. (new) column number.Need the above info so I can ask my text editor widget to highlight the line and column as to what was added/deleted.
Please reboost for reach :)
-
Can somebody point me towards a Myers diff algorithm in a C++ project?
I am looking for the following data as diff result:
1. (old) line number
2. (old) column number
3. (new) line number
4. (new) column number.Need the above info so I can ask my text editor widget to highlight the line and column as to what was added/deleted.
Please reboost for reach :)
-
Can somebody point me towards a Myers diff algorithm in a C++ project?
I am looking for the following data as diff result:
1. (old) line number
2. (old) column number
3. (new) line number
4. (new) column number.Need the above info so I can ask my text editor widget to highlight the line and column as to what was added/deleted.
Please reboost for reach :)
-
I ran into my very first "it runs as long as you do it the app's way" kind of bug. My guess is, by assigning a different variable here, the pointer's address is aligned "just right" for my code to work.
This comment is from my #GitRaven project.
```
// FIXME: Use `amendCommitOid` instead
// Note: The app seg faults when this variable is deleted :/
git_oid oid = autoCommitOid;
``` -
I ran into my very first "it runs as long as you do it the app's way" kind of bug. My guess is, by assigning a different variable here, the pointer's address is aligned "just right" for my code to work.
This comment is from my #GitRaven project.
```
// FIXME: Use `amendCommitOid` instead
// Note: The app seg faults when this variable is deleted :/
git_oid oid = autoCommitOid;
``` -
I ran into my very first "it runs as long as you do it the app's way" kind of bug. My guess is, by assigning a different variable here, the pointer's address is aligned "just right" for my code to work.
This comment is from my #GitRaven project.
```
// FIXME: Use `amendCommitOid` instead
// Note: The app seg faults when this variable is deleted :/
git_oid oid = autoCommitOid;
``` -
I ran into my very first "it runs as long as you do it the app's way" kind of bug. My guess is, by assigning a different variable here, the pointer's address is aligned "just right" for my code to work.
This comment is from my #GitRaven project.
```
// FIXME: Use `amendCommitOid` instead
// Note: The app seg faults when this variable is deleted :/
git_oid oid = autoCommitOid;
``` -
I am loving C++17 feature set. It has so many niceties available in std which makes it easy to focus on my product rather than dealing with trivial things.
-
I am loving C++17 feature set. It has so many niceties available in std which makes it easy to focus on my product rather than dealing with trivial things.
-
I am loving C++17 feature set. It has so many niceties available in std which makes it easy to focus on my product rather than dealing with trivial things.
-
I am loving C++17 feature set. It has so many niceties available in std which makes it easy to focus on my product rather than dealing with trivial things.