I have thought of a different approach to create a 2D array using Dynamic Allocation
\#include <iostream>
using namespace std;
int main(){
int r , c;
cin >> r ;
cin >> c ;
int *p = new int[r*c\];
for(int i = 0 ; i < r ; i++){
for(int j = 0 ; j< c ; j++){
cin >> p[c*i+j\];
}
}
for(int i = 0 ; i < r ; i++){
for(int j = 0 ; j< c ; j++){
cout << p[c*i+j\] << " ";
}
cout << endl ;
}
}
https://redd.it/1c1jpe4
@r_cpp
When and how variables are initialized? - Part 1
https://www.sandordargo.com/blog/2024/04/10/initializations-part-1
https://redd.it/1c1ay8x
@r_cpp
April C++ Meetup online for Boston User Group
Happy to announce the April meetup for C++ Boston user group is up!
https://meetu.ps/e/N3HpS/HVSw6/i
Please join us for a great presentation by Tor Shepherd: Fantastic Copies and Where to Find Them
"C++ is the language of RAII, but that nice feature comes at a price. This talk is a brief tour through the fantastic world of spurious copies, failed RVO, overly optimistic moves, and importantly - how to catch them!"
https://redd.it/1c0zrnf
@r_cpp
C++ Modules vs Headers
What are the advantages of using header files over C++20 modules ? In completely brand new code, should I always stick to modules in the future (If we assume that it is fully supported and all bugs are fixed) ?
https://redd.it/1c0o32p
@r_cpp
zeus::expected: Backporting <expected> to C++17
Backporting <expected> to C++17
I love std::expected
so much that I can't wait anymore, so here comes my backporting work. For the sake of out-dated toolchain of my development environment, even C++20 is unavailable for me.
Why not just tl-expected
or improve it?
In fact, this is where my work started. Mainly, tl-expected
has some API incompatibility problem with STL, and what i want is a seamless experience with the STL one. I would like to play with std::expected
once all of toolchains are ready for it. Breaking the API of tl-expected
may involve with a huge community work that I don't think it even possible or could be done in a short days.
Why drop C++11/14 supports?
When I decided to start my work from tl-expected
. I made a glance on the implementation detail in it. Many duplicates and workaround for old compilers... Believed that getting a toolchain to support C++17 should not be a problem today, I cleared all stuffs for those old things, which makes my life easier in the end. I learned from tl-expected and redesigned it, and C++17 plays a good role from the beginning, while I love if constexpr
the most.
Why about this expected
's quality?
Big thanks to MSVC's STL!!! Currently it is heavily tested under C++20/23 by tests from MSVC's STL, and all test cases are passed. Though not tested well for other compilers, I believe it almost safe to use now.
https://redd.it/1c0jgtg
@r_cpp
Any easy to install gui libraries?
Hey all, I'm decently new to c++ and I come from python, but for some reason I cannot get any gui libraries to work for C++ I've tried setting it up with codeblocks, Vscode, And Vs2022. I have watched many tutorials but i've been met with the same thing every time I try to run something that has a gui. I've followed all steps, I've even tried to install it on a virtual machine to see if something it messing with the install, but I just got the same result, anyways, I'm asking to see if there is any that are easier than the ones I have been trying to install. The ones I tried to use were qt, gtk, gtk4, wxwidgets. I've been at this for about two days now, any help would be appreciated
https://redd.it/1c07owm
@r_cpp
CLion 2024.1 has been released
https://www.jetbrains.com/clion/whatsnew/#v20241-apr-09
https://redd.it/1bzw1hm
@r_cpp
Modern C++: Old Dog, New Tricks • Todd Montgomery
https://youtu.be/G22oeWnqwJo
https://redd.it/1bzqu23
@r_cpp
Difficult to get entry-level jobs
I am a cs student applying for internships, I like software development but there aren’t many positions looking for c++ developers. I like coding in c++ but there aren’t many job roles available, everyone wants js. Even for embedded projects I see people mostly use C, where can I apply to internships for c++, cause getting an internship at hfts are tough. The only other famous company which still uses c++ is Google but even they have issues developing software projects on it.
https://redd.it/1bzlugi
@r_cpp
Explain CMake to a child
Please. I am the child. I had my lovely pip install, npm install all my life
https://redd.it/1bzgut1
@r_cpp
Language auditions - David Sankel C++Now teaser
https://www.youtube.com/watch?v=52yPYQuG8XM
https://redd.it/1bze5aj
@r_cpp
Examples of great tests and testable code
Hello everyone.
Reaching out to the community to see if anyone can help.
I am trying to learn how to write testable code, and one way I would like to learn is to find great examples of projects that have been written in a very testible way and with very good tests, so I can try to identify common traits.
Can anyone recommend any?
https://redd.it/1bz0z11
@r_cpp
Coming back to C++ after two years of Kotlin & Rust
Initially I started learning programming with C and then C++ 8 years ago in my bachelor's era. Then switched over to PHP, Javascript, Kotlin and Rust in between and now I'm back to a C++ project, and I gotta say it's such a delight! Note that I'm not even using C++17 or newer, just embedded programming.
I can design clean APIs with such ease thanks to it's god-level pre-processor. If you know how not to break things and prevent memory leaks preemptively, you can literally write the most efficient programs. The pre-processor is actually the best templating engine I've encountered to date. Header files seem useless from an outsider's perspective, but the truth is they're incredibly powerful.
Some programming practices and syntax are questionable, but once you get a hang of them, you'll see that you can fine-tune every bit of data or function in C/C++ with perfect precision.
The type system is awesome. Meta programming is a piece of cake and pure joy.
Build tools aren't that bad either. Having a concrete package manager in a PL is nice, but it doesn't come without drawbacks. A rather simple project in Rust usually have +2GiB in dependencies. But in C/C++ I can just use whatever is available on my Linux system. I don't trust third-party package managers like vcpkg or Conan. CMake is a little ugly, but once you learn how to use it, it can perform everything you might need from downloading dependencies, including local libs, packaging the app, etc.
Tooling has always been great. Autocompletion, formatting, etc. You just need to set the include directories properly.
It's reputation as a complex programmigg language comes mostly from legacy code and inexperienced programmers doing too much hacking with pointers and the pre-processor. The language itself feels natural and fluid.
Having the liberty to do whatever you want with your code is a power that comes with great responsibility. Once you are responsible enough, you can write programs like a legend! I'm definitely back to the cult of C++.
https://redd.it/1bz1iqk
@r_cpp
C++ Videos Released This Month - April 2024
This month the following C++ videos have been published to YouTube. A new post will be made each week as more videos are released
**CppCon**
04/01/2024 - 04/08/2024
* Lightning Talk: Implementing Coroutines Using C++17 - Alon Wolf - [https://youtu.be/ULJcnSTwg9g](https://youtu.be/ULJcnSTwg9g)
* Lightning Talk: Introverts: Speak! - Rudyard Merriam - [https://youtu.be/EvDh19wWDOo](https://youtu.be/EvDh19wWDOo)
* Lightning Talk: Constraining Automated Trading Risk with Linux Signals - Max Huddleston - [https://youtu.be/\_HGQ\_8cr0sY](https://youtu.be/_HGQ_8cr0sY)
* Great C++ is\_trivial: trivial type traits - Jason Turner - [https://youtu.be/bpF1LKQBgBQ](https://youtu.be/bpF1LKQBgBQ)
* Better CMake: A World Tour of Build Systems - Better C++ Builds - Damien Buhl & Antonio Di Stefano - [https://youtu.be/Sh3uayB9kHs](https://youtu.be/Sh3uayB9kHs)
All of these talks can also be accessed at [https://cppcon.programmingarchive.com](https://cppcon.programmingarchive.com) where you can also find information on how to get early access to the rest of the CppCon 2023 lightning talks.
**Audio Developer Conference**
04/01/2024 - 04/08/2024
* Build a High Performance Audio App With a Web GUI & C++ Audio Engine - Colin Sullivan & Kevin Dixon - [https://youtu.be/xXPT8GAEozs](https://youtu.be/xXPT8GAEozs)
* Procedural Sound Design Applications - From Embedded to Games - Aaron Myles Pereira - [https://youtu.be/Da6mDLrOGok](https://youtu.be/Da6mDLrOGok)
* Embedded Software Development - A Wild Ride! - Matt Speed & Andy Normington - [https://youtu.be/xr8fSJ2Uw1A](https://youtu.be/xr8fSJ2Uw1A)
**Meeting C++**
04/01/2024 - 04/08/2024
* C++20's Coroutines for Beginners - Andreas Fertig - [https://www.youtube.com/watch?v=0iiUCuRWz10](https://www.youtube.com/watch?v=0iiUCuRWz10)
https://redd.it/1bz0shz
@r_cpp
Library: fast C++ containers with dynamic memory pool
https://github.com/Beosar/fast-cpp-containers
A header-only map/set implementation based on an AVL tree as well as a very fast dynamic memory pool allocator. I had to write this for my video game and wanted to share it. I also added a queue and list implementation.
All containers in this library are compatible with the memory pool allocator and their usage and iterator validity are identical to the standard library.
The memory pool allocator can be used as a stand-alone memory pool, however it is not thread-safe because that would significantly affect the performance and compatibility (requires either locks or double word atomic compare exchange, e.g. lock cmpxchg16b on 64-bit x86).
https://redd.it/1byybg0
@r_cpp
Can someone explain this to me?
I'm a beginner and can someone explain this to me?
Write an IPO Chart, Algorithm (Flowchart, Pseudocode), Tracetable and C++ program that requests a month of the year and displays the number of days in each month. Note that in this program a year is considered a leap year if divisible by 4.
https://redd.it/1c1erl2
@r_cpp
In addition to gdb, are there any better tools to find and debug deadlock problems?
Recently, while working on developing a parallel operator, nested loop join, within Apache Arrow, the issue of deadlocks emerged. Since parallelism was involved, the common problem of deadlocks arose. So, what do you do if you encounter a deadlock issue? How do you debug and locate it?
The following article shares that I use gdb to debug and locate problems from scratch. So besides this, are there any other better tools?
Use gdb to debug and locate deadlock!
https://redd.it/1c15b1a
@r_cpp
Function generator function in C++
Hello,
I have a kind of super function generator function that I had coded in Python but I would like to port this code to cpp except that I can't do it. It is a function whose principle is as follows (I have simplified as much as possible to keep only what is necessary). How to do something similar in C++? I tried to make a vector of functions but without success...
​
def create_function(i):
def funct(x=i):
return "hello " + str(x)
return funct
for i in range(1, 4):
funct_name = "funct" + str(i)
funct = create_function(i)
globals()[funct_name] = funct
print(globals())
print(funct1(1))
print(funct2(2))
print(funct3(2))
Is it bad programming practice to do something like this? What are the alternatives?
I'm posting this on r/cpp because I have the first question related to r/cpp but the second is not so if this is not appropriate let me know and I will remove/edit
Thanks
------
EDIT:
Sorry I didn't know there was a sub dedicated to the Cpp question
I apologize for the confusion. I don't seem to have been clear enough
I wanted to ask a question that brings together several (error on my part)
-> Why a function that creates functions?
Because I have a lib which itself generates functions based on parameters, I can't say too much about it but a basic example is that I have for example a hardware card with 6 ADC inputs and one with 3 and I want to read these ADC entries and this lib will call functions called: get_adc1, get_adc2...
It would therefore be useful for me to be able to inject them directly into the namespace (but I believe that there is no equivalent for the namespace in C++ (edit: confirmed by /biopsy_result))
The 2nd problem behind:
I would like to be able to parse a folder at runtime and be able to read the cpp lib names
These cpp libs (header+executable) generally contain a function (large algo) with a common interface and I want in my program to have access to these functions and therefore to be recognized and available for execution.
https://redd.it/1c0n9bu
@r_cpp
Extended use of std::reduce
Hello everyone!
I'm wondering why only MSVC accepts the next use of std::reduce (and not GCC and Clang).
std::vector<int> kk = {1, 2, 3, 4, 5};
auto str = std::reduce(kk.begin(),
kk.end(),
std::string{}, // Inicialización con cadena vacía
(const std::string &a, int b) {
return a + std::tostring(b);
});
According to [this](https://en.cppreference.com/w/cpp/algorithm/reduce) definition from cppreference:
template< class InputIt, class T, class BinaryOp >
T reduce( InputIt first, InputIt last, T init, BinaryOp binaryop );
The returned value does not have to be of the same type as the container value type (it may be unrelated).
My question is: Are GCC and Clang doing it wrong?
Is MSVC doing it correctly?
Having the ability to use this feature in this way would be very powerful, and could simplify the code a lot.
Edit: I just noticed that maybe cpp\_questions is a better place for this topic. I apologize for the inconvenience.
https://redd.it/1c0jld0
@r_cpp
Small string sorting benchmarking suite (for Linux)
I've done some performance experiments regarding string sorting and related things, including comparing different comparison operators (such as strcmp, memcmp and 'proper' ICU collation) and measuring the overhead of using owning types (like std::string) over view-types.
My measurement results were not really surprising to me, so I don't bother publishing that, but I thought some of you might enjoy having a look at this for yourself, or use my code as a basis for further experimentation.
https://redd.it/1c0j27c
@r_cpp
Any real life examples of P2300 senders/receivers?
Are there any real-life examples of code that uses senders/receivers from P2300 ? Something more complicated than an echo server in a single function? Ideally it would be a server application with multiple layers, so that there would be many functions calling each other.
https://redd.it/1bzwx39
@r_cpp
Moving a portion of a value from one variable to another with one line?
Newb here!
Is there a handy way to do what's in the title?
For example:
checking = 100;
savings = 50;
One line of code: move 10 from checking to savings;
Resulting in 90 in checking and 60 in savings.
This seems like a common task without a tool! I couldn't find anything about this and even asked Chat GPT but that failed me for the first time :)
https://redd.it/1bzuju5
@r_cpp
DataFrame now has much improved documentation
We have significantly enhanced C++ DataFrame documentation.
It now includes:
1. Explanation and code samples for every API
2. Better visual arrangements
3. Explanation for concepts such as multithreading, SIMD, ... and how to use them in DataFrame applications
4. Explanations and reasoning behind DataFrame design decisions, data structures, and constructs
5. Detailed explanation for benchmarks
6. References/links to other relevant sites
I am not an expert in documentation. Any tips or comments is appreciated.
https://redd.it/1bzpucq
@r_cpp
I wonder is there any roadmap-like template to approach every leetcode problem
Recently, I've been doing a lot of LeetCode problems, and I've been wondering if there's some kind of universal roadmap or template to handle the majority of them. LeetCode has this hashtag feature that tells you what approach to use for a problem. Sometimes, if you think in that direction, you can come up with a solution. But if there's no hashtag, I find it hard to know where to start on a problem. I've watched a lot of explanation videos, and they usually start by telling you the solution and then visualize it to help you understand better. But the key question is: How do you come up with that solution in the first place? I feel like solving programming problems is like training a neural network in your brain. The input to this model is the pattern of various problems. For example, when you see "subsequence" or "subarray," your first thought is usually DP or sliding window. Then, based on the pattern presented by the problem, you further narrow down the solution range. For example, if the problem exhibits some monotonicity, the final solution might be sliding window. Has anyone ever summarized the neural network mapping between problem patterns and solutions for these kinds of problems? This way, when we encounter an unfamiliar problem, we could immediately map out possible solutions using this neural network. In the realm of math problems, there's a book called "How to Solve It" that provides some inspiration, giving you some ideas when faced with an unfamiliar problem. Is there something similar in the programming field?
https://redd.it/1bzhrz0
@r_cpp
Bootcamp or Projects?
Hello, I will be a college freshman next fall:
I am currently running through learncpp and I have been really enjoying making simple projects. However, I was wondering if it is better to finish learncpp or continue making new projects.
P.S I try to have every project a bit more complex then the last and if I ever get stuck or don't know what to build next I will go back to learncpp.
Thanks
https://redd.it/1bzf32s
@r_cpp
Subscript Aliases
I found this in Github gist and with my knowledge about c++ I fail to fully comprehend , can someone explain to me ? is this useful? https://gist.github.com/ContingencyOfTautologicalContradictions/d685c895cce978320a19dedb1892cba9
https://redd.it/1bz917g
@r_cpp
Annual ISO Survey - Get you voice heard!
This is the easiest way to help shape the prioritizes of the standards committee to focus on the problems you think are more important surveymonkey.com/r/isocpp-2024
Its a short survey and there's lots of places to explain yourself which is a nice addition!
https://redd.it/1bz1mw1
@r_cpp
How important is math as a professional C++ developer?
My knowledge of math is limited, wondering what kind of math i need to know? ty guys!
https://redd.it/1bz34am
@r_cpp
C++ New Features
Hey, I was just curious how you guys learnt about what new features come out with every C++ version?
Currently I learn from Jason Turners youtube series : https://www.youtube.com/watch?v=N2HG\_\_\_9QFI&t=21s
Just wanted to know if there were any other good resources,
Thanks in advance.
https://redd.it/1bz0m5q
@r_cpp
Create Bluetooth Low Energy application with C++
https://www.bleuio.com/blog/using-bleuio-for-ble-application-development-with-c/
https://redd.it/1bytnfe
@r_cpp