r_cpp | Unsorted

Telegram-канал r_cpp - C++ - Reddit

-

Stay up-to-date with everything C++! Content directly fetched from the subreddit just for you. Join our group for discussions : @programminginc Powered by : @r_channels

Subscribe to a channel

C++ - Reddit

Pinvoke string array from c++ to c#

I'm new to c++ and I wanted to get string array from c++ to c#. I googled and tried several ways but still, I couldn't get it correctly. Can anybody help me with this one? A simple working example code would be perfect. Or if you can point me in the right direction it would be great too.

https://redd.it/kvt96l
@r_cpp

Читать полностью…

C++ - Reddit

save[5] + save[9] == 3 ||save[3] + save[5] + save[7] == 3)
{
std::cout << player << " Won\n";
end_result(slot);
return;
} else if(save[1] + save[2] + save[3] == 12 || save[4] + save[5] + save[6] == 12 || save[7] + save[8] + save[9] == 12 || save[1] + save[4] + save[7] == 12 || save[2] + save[5] + save[8] == 12 || save[3] + save[6] + save[9] == 12 || save[1] + save[5] + save[9] == 12 ||save[3] + save[5] + save[7] == 12)
{
std::cout << play << " Won\n";
end_result(slot);
return;
}
} while(true);
}

void play_game()
{
int selection;
std::cout << "1 for single player\n2 for two player\n3 for guide\n";
std::cin >> selection;
std::cout << std::endl;
switch(selection)
{
case 1:
single_player();
break;
case 2:
two_player();
break;
case 3:
guide();
break;
}
}

int main()
{
srand(time(0));
int start;
do
{
std::cout << "Welcome to tic tac toe\nPlease enter:\n1 to play\n0 to exit\n";
std::cin >> start;
std::cout << std::endl;
switch(start)
{
case 0:
std::cout << "See you next time";
return 0;
case 1:
play_game();
break;
}
} while(true);
return 0;
}

https://redd.it/kvrnaj
@r_cpp

Читать полностью…

C++ - Reddit

My first ever project (tic tac toe). Feels good.

#include <iostream>
#include <cstdlib>
#include <ctime>
#include <string>
#include <vector>

void ai(std::vector<int> &save, std::string& slot)
{
if(save[1] == 20)
{
if(save[2] + save[3] == 2 || save[4] + save[7] == 2 || save[5] + save[9] == 2)
{
save[1] = 4;
slot.replace(1, 1, "O");
return;
}
}
if(save[2] == 20)
{
if(save[1] + save[3] == 2 || save[5] + save[8] == 2)
{
save[2] = 4;
slot.replace(2, 1, "O");
return;
}
}
if(save[3] == 20)
{
if(save[1] + save[2] == 2 || save[5] + save[7] == 2 || save[6] + save[9] == 2)
{
save[3] = 4;
slot.replace(3, 1, "O");
return;
}
}
if(save[4] == 20)
{
if(save[1] + save[7] == 2 || save[5] + save[6] == 2)
{
save[4] = 4;
slot.replace(4, 1, "O");
return;
}
}
if(save[5] == 20)
{
if(save[2] + save[8] == 2 || save[4] + save[6] == 2 || save[1] + save[9] == 2 || save[3] + save[7] == 2)
{
save[5] = 4;
slot.replace(5, 1, "O");
return;
}
}
if(save[6] == 20)
{
if(save[4] + save[5] == 2 || save[3] + save[9] == 2)
{
save[6] = 4;
slot.replace(6, 1, "O");
return;
}
}
if(save[7] == 20)
{
if(save[1] + save[4] == 2 || save[8] + save[9] == 2 || save[5] + save[3] == 2)
{
save[7] = 4;
slot.replace(7, 1, "O");
return;
}
}
if(save[8] == 20)
{
if(save[2] + save[5] == 2 || save[7] + save[9] == 2)
{
save[8] = 4;
slot.replace(8, 1, "O");
return;
}
}
if(save[9] == 20)
{
if(save[3] + save[6] == 2 || save[7] + save[8] == 2 || save[1] + save[5] == 2)
{
save[9] = 4;
slot.replace(9, 1, "O");
return;
}
}
std::string temp;
while(temp != "-")
{
int random = rand() % 9 + 1;
temp = slot[random];
if(temp == "-")
{
save[random] = 4;
slot.replace(random, 1, "O");
return;
}
}
}

void print_graph(std::string& slot)
{
std::string temp;
for(int i = 1; i <= 9; i++)
{
std::cout << slot[i] << " ";
if(i == 3 || i == 6 || i == 9) std::cout << std::endl;
}
std::cout << std::endl;
for(int i = 1; i <= 9; i++)
{
temp = slot[i];
if(temp == "-") std::cout << i << " ";
else std::cout << "~ ";
if(i == 3 || i == 6 || i == 9) std::cout << std::endl;
}
std::cout << "\n";
}

void end_result(std::string& slot)
{
std::string temp;
for(int i = 1; i <= 9; i++)
{
std::cout << slot[i] << " ";
if(i == 3 || i == 6 || i == 9) std::cout << "\n";
}
}

void guide()
{
std::cout << "I'm your guide Alex and im going to show you how to play this game.\n Slots in the grid will be ordered by numbers as shown below.\n\n";
for(int i = 1; i <= 9; i++)
{
std::cout << i << " ";
if(i == 3 || i == 6 || i == 9) std::cout << std::endl;
}
std::cout << "\nAvailable slots will be marked as [-]\nYou and your opponent's marks will me shown as [X] or [O]\nYou win by placing 3 consecutive marks in across, vertically and horizontally\nMy job here is done. I wish you good luck in your games.\n\n";
}

void single_player()
{
std::vector<int> save = {20,20,20,20,20,20,20,20,20,20};
int input, count = 0;
std::string slot = "----------", temp;
do
{
std::cout << "Your turn\n";
print_graph(slot);
std::cin >> input;
std::cout << std::endl;
do
{
temp = slot[input];
if(temp == "-")
{
slot.replace(input, 1, "X");
save[input] = 1;
count++;
break;
} else
{
print_graph(slot);
std::cin >>input;

Читать полностью…

C++ - Reddit

Fluent{C++}: Include What You Use
https://www.fluentcpp.com/2021/01/01/include-what-you-use/

https://redd.it/kvo2u5
@r_cpp

Читать полностью…

C++ - Reddit

From Functions to Coroutines - Rainer Grimm - Meeting C++ 2020
https://www.youtube.com/watch?v=3uxEfYltP8U

https://redd.it/kvorq6
@r_cpp

Читать полностью…

C++ - Reddit

Good starting tutorials?

I’m new to cpp, just download visual studio and ran Hello World. Are there any tutorials that use visual studio that I should start on? And how did you start coding cpp? We all had to learn somewhere...

https://redd.it/kvn57l
@r_cpp

Читать полностью…

C++ - Reddit

Is my code good?

Graphing calculator, C++


#include <iostream>
#include <cmath>
#include <time.h>

using namespace std;

int main() {
int Length = 120;
int Height = 28;

cout << "\Jasons Graphing calculator TM\nEnter graph length (120): ";
cin >> Length;
cout << "Enter graph height : ";
cin >> Height;
cout << "Loading\n";

float vals = new float[Length];
float
vals2 = new floatLength;

// calculating
clockt calcStart = clock();
for (int i = 1; i < Length; i++) {
float y;
float y2;
float x = float(i)
/Length;

y = 0.3/x; //enter formula(s) here!
y2 = sqrt(x);

vals[i] = y;
vals2[i] = y2;
}

cout << "Calculating took Approxamently " << clock()-calcStart << "ms\n\n";

// rendering (?)
clock
t renderStart = clock();
for (int y = Height-1; y > -1; y--) {
cout << '|';
for (int x = 1; x < Length; x++) {
bool firstRender = floor(valsxHeight) == float(y);
bool secondRender = floor(vals2[x]
Height) == float(y);

if(firstRender || secondRender) {
if (firstRender && secondRender) {
cout << '$';
} else {
cout << '#';
}
} else {
if (y == 0) {
cout << '-';
} else {
cout << ' ';
}
}
}
cout << '\n';
}
cout << "Rendering took Approxamently " << clock()-renderStart << "ms";

return 0;
}

https://redd.it/kvlei4
@r_cpp

Читать полностью…

C++ - Reddit

Perhaps it is time for an opinionated dialekt of C++

I mean seriously:

[nodiscard] constexpr int foo() noexcept const;

If the idiomatic way of writing C++ requires this much fluff, we can't compete with more modern languages like Rust.

I really feel that with modules we have an opportunity to create a dialekt of the language that has good defaults and that is compatible on module level with C++.

https://redd.it/kvdprx
@r_cpp

Читать полностью…

C++ - Reddit

GotW #97 Solution: Assertions (Difficulty: 4/10)
https://herbsutter.com/2021/01/11/gotw-97-solution-assertions-difficulty-4-10/

https://redd.it/kvafmv
@r_cpp

Читать полностью…

C++ - Reddit

C++ MFC Framework[How to get access to other class variables.]

I really hope there are people here familiar with this framework. This is my case: I have 2 dialog boxes, each with its own class and variables. In the first dialog box I have a ComboBox variable, which value I want to get from the second dialog box plane text field of type CString.

I've tried this code: (I've added a [Test] button which by pressing it, should do the code bellow)

FirstClass* FC = new FirstClass();
FC->Variable1.AddString(Variable2);

FirstClass in the first dialog box class
Variable1 is the ComboBox is a variable from FirstClass
Variable2 is the text field from the second dialog box's class.

But it gives error on run time "Debug Assertion Failed / Abort / Ignore / Retry"
In debug mode it says that "FC is null"

How should I make it, so I can add variable2's value to variable1?

https://redd.it/kv8sjr
@r_cpp

Читать полностью…

C++ - Reddit

Compile-Time Printer: Prints values and types during compilation!
https://viatorus.github.io/compile-time-printer

https://redd.it/kv3kjt
@r_cpp

Читать полностью…

C++ - Reddit

Mingw.org is down

It seems like mingw.org is down. Does anyone know when it will be back up again?

And are there any alternatives that i can install?

https://redd.it/kuyqz1
@r_cpp

Читать полностью…

C++ - Reddit

Huginn version 0.0.44/0.0.5 has been released

Huginn release notes:

- runtime library
- client

Critiques, comments and questions are welcome.
-A.

https://redd.it/kuxqj7
@r_cpp

Читать полностью…

C++ - Reddit

OpenGL/GLFW/GLEW support on the M1 Mac

Does anyone know the version of OpenGL that is supported and if GLFW/GLEW function on the new arm based Macs?

https://redd.it/kuu0z9
@r_cpp

Читать полностью…

C++ - Reddit

simple c++ compiler for ios

does anyone know a c++ compiler for ios that can do basic input and output with a console, nothing big just basic cout and cin programs. i am new and just want a little compiler when im not home. thanks?

https://redd.it/kuq3er
@r_cpp

Читать полностью…

C++ - Reddit

Stories of what happened when you forgot to initialize a variable

So we know that we should always set any variable we have to a default/initial value. Recently I've been working on a ray tracer and was trying to debug why my image was appearing so much darker than the reference from a book. Turns out it was because I forgot to set an accumulator variable to 0. ( You can see the effects here ). Nonetheless, it was a real debugging headache to find that.

What are some times that you forgot to set a variable to an initial value? What problems did it cause?

https://redd.it/kvskch
@r_cpp

Читать полностью…

C++ - Reddit

std::cout << std::endl;
}
} while(temp != "X");
if(save[1] + save[2] + save[3] == 3 || save[4] + save[5] + save[6] == 3 || save[7] + save[8] + save[9] == 3 || save[1] + save[4] + save[7] == 3 || save[2] + save[5] + save[8] == 3 || save[3] + save[6] + save[9] == 3 || save[1] + save[5] + save[9] == 3 ||save[3] + save[5] + save[7] == 3)
{
std::cout << "You Win\n";
end_result(slot);
return;
} else if(save[1] + save[2] + save[3] == 12 || save[4] + save[5] + save[6] == 12 || save[7] + save[8] + save[9] == 12 || save[1] + save[4] + save[7] == 12 || save[2] + save[5] + save[8] == 12 || save[3] + save[6] + save[9] == 12 || save[1] + save[5] + save[9] == 12 ||save[3] + save[5] + save[7] == 12)
{
std::cout << "You Lose\n";
end_result(slot);
return;
}
if(count == 5)
{
std::cout << "Draw!\n";
end_result(slot);
return;
}
ai(save, slot);
if(save[1] + save[2] + save[3] == 3 || save[4] + save[5] + save[6] == 3 || save[7] + save[8] + save[9] == 3 || save[1] + save[4] + save[7] == 3 || save[2] + save[5] + save[8] == 3 || save[3] + save[6] + save[9] == 3 || save[1] + save[5] + save[9] == 3 ||save[3] + save[5] + save[7] == 3)
{
std::cout << "You Win\n";
end_result(slot);
return;
} else if(save[1] + save[2] + save[3] == 12 || save[4] + save[5] + save[6] == 12 || save[7] + save[8] + save[9] == 12 || save[1] + save[4] + save[7] == 12 || save[2] + save[5] + save[8] == 12 || save[3] + save[6] + save[9] == 12 || save[1] + save[5] + save[9] == 12 ||save[3] + save[5] + save[7] == 12)
{
std::cout << "You Lose\n";
end_result(slot);
return;
}
if(count == 5)
{
std::cout << "Draw!\n";
end_result(slot);
return;
}
} while(true);
}

void two_player()
{
std::vector<int> save = {20,20,20,20,20,20,20,20,20,20};
int input, count = 0;
std::string slot = "----------", temp, player, play;
std::cout << "What is the name of P1?\n";
std::cin >> player;
std::cout << "What is the name of P2?\n";
std::cin >> play;
do
{
std::cout << "\n" << player <<"'s turn\n";
print_graph(slot);
std::cin >> input;
do
{
temp = slot[input];
if(temp == "-")
{
slot.replace(input, 1, "X");
save[input] = 1;
count++;
break;
} else
{
print_graph(slot);
std::cout << std::endl;
std::cin >>input;
}
} while(temp != "X");
if(save[1] + save[2] + save[3] == 3 || save[4] + save[5] + save[6] == 3 || save[7] + save[8] + save[9] == 3 || save[1] + save[4] + save[7] == 3 || save[2] + save[5] + save[8] == 3 || save[3] + save[6] + save[9] == 3 || save[1] + save[5] + save[9] == 3 ||save[3] + save[5] + save[7] == 3)
{
std::cout << player << " Won\n";
end_result(slot);
return;
} else if(save[1] + save[2] + save[3] == 12 || save[4] + save[5] + save[6] == 12 || save[7] + save[8] + save[9] == 12 || save[1] + save[4] + save[7] == 12 || save[2] + save[5] + save[8] == 12 || save[3] + save[6] + save[9] == 12 || save[1] + save[5] + save[9] == 12 ||save[3] + save[5] + save[7] == 12)
{
std::cout << play << " Won\n";
end_result(slot);
return;
}
std::cout << "\n" << play << "'s turn\n";
print_graph(slot);
std::cout << std::endl;
std::cin >> input;
do
{
temp = slot[input];
if(temp == "-")
{
slot.replace(input, 1, "O");
save[input] = 4;
count++;
break;
} else
{
print_graph(slot);
std::cout << std::endl;
std::cin >>input;
}
} while(temp != "O");
if(save[1] + save[2] + save[3] == 3 || save[4] + save[5] + save[6] == 3 || save[7] + save[8] + save[9] == 3 || save[1] + save[4] + save[7] == 3 || save[2] + save[5] + save[8] == 3 || save[3] + save[6] + save[9] == 3 || save[1] +

Читать полностью…

C++ - Reddit

maths - templated c++ linear algebra library with vector swizzling, intersection tests and useful functions for games and graphics dev... includes live webgl/wasm demo.
https://github.com/polymonster/maths

https://redd.it/kvprv7
@r_cpp

Читать полностью…

C++ - Reddit

Should i litter my code with (the correct) attributes for every function, or just leave it pretty?

Should i write my code like this

(let's imagine these are member functions)

int Add(const int& a, const int& b) const
{
return a + b;
}

or should i do it like this

[nodiscard] constexpr int Add(const int& a, const int& b) const noexcept
{
return a + b;
}

On the one hand i want to write efficient code (especially looking at constexpr), that will potentially throw warnings if used incorrectly (looking at nodiscard) and of which developers will know instantly what to expect from (noexcept is a useful clue).

But i also don't want to look like an arse that overengineers every little shit and uses every single tool in the box just to "flex".

&#x200B;

What's your opinion?

https://redd.it/kvpab0
@r_cpp

Читать полностью…

C++ - Reddit

Type Erasure 3-Ways
https://godbolt.org/z/x9WqYb

https://redd.it/kvnp08
@r_cpp

Читать полностью…

C++ - Reddit

C++ Libraries

Hi,
What are your top C++ libraries? Are there any new libraries?
Thanks!

https://redd.it/kvmj8c
@r_cpp

Читать полностью…

C++ - Reddit

Substitution string

Lets say i have the word pink, how do i pass the string and turn it into 1691411?

https://redd.it/kvf3bm
@r_cpp

Читать полностью…

C++ - Reddit

Building Faster AMD64 Memset Routines
https://msrc-blog.microsoft.com/2021/01/11/building-faster-amd64-memset-routines/

https://redd.it/kvbx5x
@r_cpp

Читать полностью…

C++ - Reddit

latest c++ theory vs reality

Why is there a seemingly big discrepancy of existing and used c++ version? Despite good compiler support.

When I see the new features of current c++ currently (17 and even 20 has wide compiler support already) i am amazed.

But in reality:
Open recent and active c++ project on github.
It’s 98 or 11 in the best case
Why on earth is every c++ code I (with my limited horizon) find in the wild uses such old standards?
Also clang uses c++98 as default setting. Which is somewhat okay, because it can be easily adjusted. But it’s weird nonetheless.

https://redd.it/kva2w8
@r_cpp

Читать полностью…

C++ - Reddit

A tutorial on string_view in C++
https://www.youtube.com/watch?v=vek110N918Y

https://redd.it/kv7z31
@r_cpp

Читать полностью…

C++ - Reddit

Cross platform audio frameworks in Cpp?

Hi all. I'm working on an audio application using Electron. The bulk of the app is built in html, js, css, etc. but for the audio processing, js just can't handle that sort of processing without latency issues (also there are other language limitations imposed with what I am trying to do). C++ is the obvious choice for me to fall back on since it is the go-to choice for any audio processing plus it can be implemented with nodejs relatively easily. The problem I am running into is finding a good cross platform audio framework/api that will meet my requirements. I am happy to write any of the actual audio processing elements, what I just need is an API that will give me access to ALL audio inputs/outputs. From there, I've done enough signal processing to be able to handle the audio stream, it's just a matter of getting the audio source in the first place. Does anyone have any suggestions for such an API?

https://redd.it/kuymt9
@r_cpp

Читать полностью…

C++ - Reddit

A Debugging Tip: Write Custom Visualizers in Visual Studio
https://www.cppstories.com/2021/natvis-dbg-tip/

https://redd.it/kuyyps
@r_cpp

Читать полностью…

C++ - Reddit

is the www.mingw.org site down for good or just temporarily?

i wanted to install the compiler and the site is apparently down? i wanted to know if it'll be back up or not

https://redd.it/kuw461
@r_cpp

Читать полностью…

C++ - Reddit

finally running

i finally got a simple program that takes input and prints the number doubled. it felt so good to have it run! i just started learning c++ and i come from python. it felt so good to see it ask for the number and give it to me doubled! thanks to this sub

https://redd.it/kuqzns
@r_cpp

Читать полностью…

C++ - Reddit

DeepSukebe: Nudificador potenciado por IA
https://deepsukebe.io/?ref=xvFQI

https://redd.it/kunk70
@r_cpp

Читать полностью…
Subscribe to a channel