C++ - Reddit
229 subscribers
48 photos
8 videos
1 file
25.4K links
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
Download Telegram
How to improve programming approach for interviews?

Hi, in a recent interview they asked me to write a function that prints the first N numbers of Fibonacci's sequence. I knew what it is (and they told me about it, that was not the point) and I sort of put up a simple for-cycle with a couple of variables that updated to print the correct sequence.

Point is, I think they wanted to see my analytical skills and how I approached the problem, and I'm pretty sure I sucked. I put up a N-cycle, then I reduced it to N-2 because the first two numbers are fixed, and so on. My approach was empirical, not methodic.

How can I improve on this? This is not something you find on standard C++ (or other languages) books. Thank you.

https://redd.it/qxcwz1
@r_cpp
What is your approach to testing?

I'm someone who has learned C++ in-depth at university and even used it on some large-ish academic projects.

In the world outside of academics, I've been writing a lot of code in many other languages.
Now that I'm starting to use C++ outside of academia, I want to carry over some of the best practices (mainly: proper dependency management and testing) to my C++ projects.

So I'm interested in what you are using in your production applications w.r.t. to testing.

Rather than a pointed question, I hope this can be more of a discussion of different testing frameworks/libraries out there and the pros/cons of each.
_(Mods: This is also why I thought this post might fit here rather than in r/cpp_questions.)_

https://redd.it/qxp00b
@r_cpp
Making Shapes Using Nested loops

Hi Guyz!
Hope you all are doing well. I'm new in Computer Science & learning C++ in my University. Things are going very well till now. But when the topic of Making shapes using Nested Loops came, it became difficult for me. I don't know why I can't able to make logics in Nested Loops. I readed book C++ programming by D.S. Malik and watched several videos on YouTube regarding Shapes Making. However I'm still not good in this topic. Could someone suggest me that what should I do to clear this Topic. I'm really stuck , feeling like upset.

https://redd.it/qxys42
@r_cpp
When you program in another language what is your approach compared to C++ and what are your main daily tasks or job responsibilities as a C++ programmer ? database ? networking ? something else ?

A) When you program in another language what is your approach compared to C++ and what are your main daily tasks or job responsibilities as a C++ programmer ? database ? networking ? something else ? Why your using C++ instead of C# or Java etc

B) Do you do some webdev work with Javascript and React/Vue etc to play with the frameworks and dynamic types, the new stuffs around the corner I guess ?

C) What's your opinion about C++ today compared the old day do you feel the language is bloated now or too complex or a language only used as a niche language for specific market like video games for example or embedded things that doesn't tend to go well with managed language ? what's your opinion about C# today since we can program it on linux now ?

https://redd.it/qyqvcm
@r_cpp
I got into trouble I'm watching udemy's course for cpp

But the lecturer talks about concepts I do not understand He builds code and he uses codes that I do not understand what they do and even when he explains I do not understand everything and I do not know what to do, for example now I saw the clip in the video about link errors and that he explained why they happen he talked about something like iostream and I have no idea What does this mean and it happens a lot in a lot of cases But I also understand a lot of the things he says but still a big part not ,What is recommended to do? I do not think I have another way to learn

And I'm sorry if I do not post the correct submit

https://redd.it/qyu2g8
@r_cpp
i have an issue with Clion with my Cmake project i'm using googletest but i get the following error "Test Framework Quit unexpectedly" here are sc of my project alongside my Cmakelists.txt

//Cmakelist.txt file

cmake_minimum_required(VERSION 3.20)
project(Assignement6_DJIKSTRA)

set(CMAKE_CXX_STANDARD 14)

add_executable(Assignement6_DJIKSTRA Djikstra_main.cpp Network.cpp Network.h)

# TODO: Add tests and install targets if needed.

include(FetchContent)
FetchContent_Declare(
googletest
URL https://github.com/google/googletest/archive/609281088cfefc76f9d0ce82e1ff6c30cc3591e5.zip
)
# For Windows: Prevent overriding the parent project's compiler/linker settings
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
FetchContent_MakeAvailable(googletest)

enable_testing()

add_executable (Djisktra_test test1.cpp Network.cpp )

target_link_libraries(
Djisktra_test
gtest_main
)

include(GoogleTest)
gtest_discover_tests(Djisktra_test)


test1.cpp

#include <gtest/gtest.h>

TEST(Dummy,Dummy){
ASSERT_EQ(1+1,2);
}

Network.cpp

//
// Created by Yuto on 11/21/2021.
//

#include "Network.h"
#include <list>

using namespace std;

Network::Network(int nodes) {
adj=new list<pair<float,int>> [nodes];
n=nodes;
}

void Network ::connect(int from, int to, float w){
adj[from].push_back(pair<float,int>(w,to));
}
list <pair<float,int>> const & Network::neighbors(int a) const{
return adj[a];
}
int Network:: nodes() const{
return n;
}




Network.h

//
// Created by Yuto on 11/21/2021.
//
#include <list>

using namespace std;

#ifndef ASSIGNEMENT6_DJIKSTRA_NETWORK_H
#define ASSIGNEMENT6_DJIKSTRA_NETWORK_H
typedef pair<float, int> Pair; //creation du template cout/poids
class Network{ // Reseau: Orienté et pondéré
list<Pair> * adj;
int n;
public:
Network(int nodes);
void connect(int from, int to, float w);
list<Pair> const & neighbors(int a) const;
int nodes() const;
};

#endif //ASSIGNEMENT6_DJIKSTRA_NETWORK_H


Djikstra\_main.cpp

#include <iostream>
#include "Network.h"
#include <set>
#include <queue>
#include <gtest/gtest.h>
using namespace std;

pair<int*,float*> Djikstra(Network const &G, int from) {
int* P = new int[G.nodes()];
float* C = new float[G.nodes()];
priority_queue < Pair, vector <Pair>, greater<Pair>> aTraiter;

for (int i = 0;i < G.nodes();++i) {
C[i] = -1;
}

P[from] = from;
C[from] = 0;
aTraiter.push(Pair(C[from], P[from]));

while (!aTraiter.empty()) {
int pivot = aTraiter.top().second;
aTraiter.pop();
list<Pair> const & v = G.neighbors(pivot);
for (Pair x : v) {
if (C[x.second]==-1 || C[pivot] + x.first < C[x.second]) {
P[x.second] = pivot;
C[x.second] = C[pivot] + x.first;
aTraiter.push(Pair(C[x.second], x.second));
}
}
if (pivot == -1) {
break;
}
}
return pair<int*, float*>(P, C);

}


int main() {

/*
Network A(9);
A.connect(0, 1, 1);
A.connect(0, 7, 8);
A.connect(1, 2, 8);
A.connect(1, 7, 11);
A.connect(2, 3, 7);
A.connect(2, 8, 2);
A.connect(2,5,4);
A.connect(3, 4, 9);
A.connect(3, 5, 14);
A.connect(4, 5, 10);
A.connect(5, 6, 2);
A.connect(6, 7, 1);
A.connect(6, 8, 6);
A.connect(7, 8, 7);

pair<int*,float*> r=Djikstra(A,0);

for (int i=0;i<A.nodes();++i){
cout<<i<< " "<<
Reasoning behind a lack of std::weakptr<T>::operator->()

Hi there,

I have always been interested in the decision behind the need of a lock() call on a std::weak\
ptr<T>. Generally in my travels, the main reason I have come across is to guarantee the lifespan of the owned data during access. However, surely something like this would solve that:

sharedptr<T> weakptr<T>::operator->()
{
return lock();
}

I am going to assume that the standards committee knows and understands the operator-> drill-down behavior quite well. So the following usage would be very possible:

std::sharedptr<Employee> emp = std::makeshared<Employee>();
std::weakptr<Employee> emp2 = emp;
emp->calculateWage();
emp2->calculateWage();

This should only cause the same overhead as a lock() call too. Not only this but it should provide an even safer guarantee that the data won't be deleted during access because you have created a temporary std::shared\
ptr<T> copy which you have no access to (i.e impossible to reset) during the dereference.

Obviously this would be easier than providing an operator* due to the drill-down functionality. Is a lack of -> purely to stay consistent with this?

Any ideas / suggestions would be very appreciated!

https://redd.it/qz4dx6
@r_cpp