General C++ Programming - July 2024

cannot instantiate a string literal
 
I have this code: template<typename ...T> struct Group; template<typename T1> struct Group<T1> { T1 t1_; Group() = default; [ ] explicit Gro...
[13 replies] Last: To allow std::make_unique and similar functions to initialize aggreg... (by Peter87)
How to define a concept that checks for the size of a parameter pack?
 
I want a concept that requires parameter packs to be of size > 0. I wrote this: template<typename...T> concept NonEmpty = requires {sizeof...(T) > 0; ...
[2 replies] Last: This seems to work: template<typename...T> concept NonEmpty = sizeof.... (by Peter87)
How to include library feature macros like __cpp_lib_* if importing std only?
 
the library feature macros __cpp_lib_* are defined in header yvals_core.h (for visual C++) which is an implementation header and thus not meant to be included i...
[4 replies] Last: Even though <version> was added to C++20 it isn't automatically adde... (by deleted account xyzzy)
function returning an int cannot be assigned to
 
I have a confusion. A function returning a value of type int cannot be assigned to - is it because that return value is an rvalue? but its type is int not int&&...
[2 replies] Last: b.value() returns an int (not addressable temporary) Correct. The ... (by seeplus)
order of importing does affect the outcome!
 
Reading about C++ 20 modules we find the assertion that the order of importing modules does not matter, and this is always compared with #including headers. I ...
[2 replies] Last: the order of importing modules does matter if they are at least vague... (by keskiverto)
subclass does not deduce template argument in class with using std::vector<T>::vector
 
Hi, I have this subclass of std::vector template<typename T> class Vec : public std::vector<T> { public: using std::vector<T>::vector; // use...
[3 replies] Last: The class needs to be declared with 2 parameters like std::vector! Tha... (by JUANDENT)
Unlock mutex when returning
 
The back-end of my application executes a command with _popen and passes the output to the front-end. void Loader::LoadBuffer(const std::string& arg) { ...
[2 replies] Last: Whoops you're right, thanks I'll make bufferLoaded atomic. As for out... (by LsDefect)
how to read a single character as with getchar but in C++?
 
Hi, in C one could read a single character from the keyboard with functions like getc() or getchar(). What is the equivalent in C++? streams use buffered inp...
[8 replies] Last: in C one could read a single character from the keyboard with functio... (by seeplus)
Strange arithmetic conversions
 
Stroustrup states in C++ Programming Language 4th edition page 271 that the result of converting an unsigned integer to a signed one of possibly larger size imp...
[5 replies] Last: This is one of the reasons why .ssize()/std::ssize was introduced to g... (by seeplus)
How to clear the buffer for istreams?
 
Hi, what if I want to read only one character of input from the keyboard and want to use streams? so this: char c; cin >> x; will read a charact...
[1 reply] : https://en.cppreference.com/w/cpp/io/basic_istream/ignore (by salem c)
c++ array negative numbers
 
I am trying to solve this problem, but got wrong output. Given an array of integers, write a function to move all the negative numbers to the left end of the ar...
[4 replies] Last: to move all the negative numbers to the left end of the array without... (by seeplus)
c++ indice 2 numbers
 
I solved the below problem. Can anyone tell me the best way here? Given a list of integers and a target sum, write a function to find the indices of the tw...
[4 replies] Last: Another way is to use combinations. Consider this which will find the ... (by seeplus)
What is the difference between declaring a variable auto and declaring it auto&&?
 
Hi, I have two variables for a general function f(): auto value = f(); auto&& other = f(); what is the difference between them?
[9 replies] Last: Why auto&& and not auto& ? I had to look this one up. && is speci... (by jonnin)
  Archived months: [jun2024] [aug2024]

This is an archived page. To post a new message, go to the current page.