Victor
Also, Tinkoff just started to accept applications for the fall internship
Thank you, but im not an intern and im currently not in Russia
Danya🔥
So, use LinkedIn, the companies' websites and other resources Almost every country has a local job postings website
Victor
One was safe to assume chat has local channel with job postings
Victor
But okay, thx
Danya🔥
Also you can ask ChatGPT to list companies that hire C++ devs in the country you live in and just send them your CV
Danya🔥
One was safe to assume chat has local channel with job postings
Nah, there are not many professional devs here and most of the job postings we would have to deal with would be some Indian low paid scam shit
Victor
16k members and most of them - beginners?
Danya🔥
Or both
Victor
Base
Victor
Moderation could filter scams?
Danya🔥
Moderation could filter scams?
I don't think it is worth the time of the admins here
Anonymous
I found this list of fundamentals that would be very important to have in order to have a solid foundation in programming, among them, what do you think should be the start for a total beginner? Data Structures and Algorithms Computer Architecture Theory of Computation Operating Systems Compilers Discrete Math
Discrete Maths would be good to do before starting Data Structures and Algorithms. You can then learn Computer Organization (not Computer Architecture) and Operating Systems. Theory of Computation would strictly not be necessary unless you work in a realm where you deal with lots of NP Complete and NP Hard problems. Theory of Computation would give you a solid base then. For Discrete Maths, there is this free video lecture course on MIT OCW. For Data Structures and Algorithms there is this course on Coursera that can be audited for free. The professors are from NYU in US and HSE in Russia. For Operating Systems, you can read this free book online - Operating Systems in 3 Easy Pieces. For Computer Organization, Carl Hamacher's book is good as is Computer Organization - A Hardware Software Interface
aklil
also ‘discrete mathematics with application by Susanna Epp’ is nice
Danya🔥
Oops yeah. Just checked it. That page errors out. It is a pity. That course was good.
Maybe they published it somewhere? Could you please share the title or whatever?
Anonymous
What's the difference between Computer Architecture and Computer Organization?
Computer Organization focuses on the interface between hardware and software i.e. it teaches the basics of hardware design particularly focusing on CPU design and teaches us how the software that we write interacts with the hardware. Computer Architecture focuses on the hardware part mostly and is more relevant for hardware engineers. It teaches CPU design in more detail (northbridge-southbridge) and also in addition teaches how memory circuits are interfaced with the primary bus. It teaches how stirage devices are designed (primarily the hard disk and flash disk) et al. Most of it won't be relevant for a software engineer
Anonymous
Maybe they published it somewhere? Could you please share the title or whatever?
https://www.coursera.org/learn/algorithmic-toolbox This is one of the courses of the 5 course specialization
Anonymous
The instructors are from University of California and HSE
C
Do anyone of you know any courses on Operating systems design..
Anonymous
Maybe they published it somewhere? Could you please share the title or whatever?
Here are some of the videos from that course. This instructor is from HSE https://youtube.com/playlist?list=PLeURq1l0XRkj7EQMLeQwtaEMOXlP_DpEz&feature=shared
Anonymous
Actually that is the full course. Lol
Danya🔥
The instructors are from University of California and HSE
Only one of the Russians is from there according to their bio on Coursera — Michael Levin
Anonymous
No. Michael Levin and the guy in the first video
Anonymous
Only one of the Russians is from there according to their bio on Coursera — Michael Levin
In that YouTube playlist just go to time 4:04:50 in the first video. That guy is also from HSE
C
how to modify i inside a for loop so that i gets modified in the loop? for(int i=0;i<10;i++){ cout<<"ok"<<"\n"; i=8; } i want to print ok three times
Victor
Is that necessary required to modify i only in loop's body?
C
so i iterates over 0 -8-9
Danya🔥
"speed up"
Victor
How about for(int i=0;i<3;i++){ cout<<"ok"<<"\n"; }
C
https://pastecode.io/s/jh1gy0d6 check line 11
C
How about for(int i=0;i<3;i++){ cout<<"ok"<<"\n"; }
Say i do some logic inside the for loop and find that i only need to print ok three times, how can i know that from outside the for loop?
Victor
What precisely do you want to know?
C
What precisely do you want to know?
i want some way to modify i at it's address ...like pass by refference ,
Victor
Give me the code and what do you want to get from it
Anonymous
Is this definition correct? "An object is a named region of storage; an lvalue is an expression referring to an object."
Anonymous
Is this definition correct? "An object is a named region of storage; an lvalue is an expression referring to an object."
Objects can refer to temporary objects as well which aren't named regions. Lvalues expressions are those which have an object type (except void). That basically translates to referring to an object identity.
Anonymous
Give me an example of a temporary object
There are many. Here is one. const int& tmp= 5; Here a temporary object is created when the prvalue 5 is materialized i.e. a temporary int object is created and 'tmp' is a reference to it. There are many other scenarios where temporary objects are created.
Ludovic 'Archivist'
Give me an example of a temporary object
another example of temporary objects that are commonly used are ranges for(auto i : std::ranges::views::iota(0, 10) | std::ranges::views::transform([](int i) {return i*i;})) { std::cout << i << " was generated from a temporary range object!\n"; }
79#@3q
hey everyone. I'm new in this group and new in development too. can someone explain me some best videos or content for C++ Oops? my function part is so week. I tried alot but unable to find anything good on yt.
79#@3q
suggest*
Anonymous
hoe do i install the c compiler
Danya🔥
hoe do i install the c compiler
With the help of God Google
(-__-)
Hello everyone I read that in C++ the constructor is for initializing the data fields of objects but what the wrong if I directly initialize the data field without the constructor such that example: --------------- class Circle { public: double radius = 1; };
Danya🔥
Hello everyone I read that in C++ the constructor is for initializing the data fields of objects but what the wrong if I directly initialize the data field without the constructor such that example: --------------- class Circle { public: double radius = 1; };
Hello! In C++, you can indeed directly initialize data fields like you've shown in your example. In fact, starting from C++11, you can use in-class member initializers like you did to provide default values for your class members. This is a convenient way to ensure that the members have a default value when an object is created without explicitly specifying an initial value in a constructor. Your Circle class is an example of this. It initializes the radius member to a default value of 1 right in the class definition. This means that if you create a Circle object without explicitly setting the radius in the constructor, it will automatically have a radius of 1. Here's an example of how you can use your Circle class: Circle myCircle; // Creates a Circle object with radius = 1 This is a valid and commonly used technique, especially for providing default values for members. However, constructors are still essential in many cases. Constructors allow you to perform more complex initialization, validate input, and set member values based on arguments provided at object creation. They are particularly useful when you need to initialize members with values that cannot be known at compile time or require more logic than simple default values. So, in summary, it's not wrong to initialize data fields directly as you did in your example, but constructors offer more flexibility and are necessary when you need more control over object initialization. Your choice of whether to use in-class member initializers or constructors depends on your specific use case and requirements.
(-__-)
Hello! In C++, you can indeed directly initialize data fields like you've shown in your example. In fact, starting from C++11, you can use in-class member initializers like you did to provide default values for your class members. This is a convenient way to ensure that the members have a default value when an object is created without explicitly specifying an initial value in a constructor. Your Circle class is an example of this. It initializes the radius member to a default value of 1 right in the class definition. This means that if you create a Circle object without explicitly setting the radius in the constructor, it will automatically have a radius of 1. Here's an example of how you can use your Circle class: Circle myCircle; // Creates a Circle object with radius = 1 This is a valid and commonly used technique, especially for providing default values for members. However, constructors are still essential in many cases. Constructors allow you to perform more complex initialization, validate input, and set member values based on arguments provided at object creation. They are particularly useful when you need to initialize members with values that cannot be known at compile time or require more logic than simple default values. So, in summary, it's not wrong to initialize data fields directly as you did in your example, but constructors offer more flexibility and are necessary when you need more control over object initialization. Your choice of whether to use in-class member initializers or constructors depends on your specific use case and requirements.
thanks very much
Vyom
i have just started learning cpp after getting proficient in python , any advices ?
Danya🔥
i have just started learning cpp after getting proficient in python , any advices ?
How have you measured that you're proficient in python?
The
how to propogate object's destruction across various hand holding classes spanning different threads... atomic unique IDs in a record keeper proxy class good ?
Aziz
hi everyone can somebody help me with realizing the theme about "functions" in C, pls
Aziz
which lang you know currently?
python but not at all and C for 30%
Vyom
How have you measured that you're proficient in python?
ahh....i've solved 200 leetcode problems with python , also did some small projects using tkinter , so i thought i should move to cpp for smaller runtimes
The
python but not at all and C for 30%
well functions are same in c and python.. what are you confused about
Aziz
well functions are same in c and python.. what are you confused about
ive already find solution related to my confusing but thank you btw✊🏽
Danya🔥
ahh....i've solved 200 leetcode problems with python , also did some small projects using tkinter , so i thought i should move to cpp for smaller runtimes
It doesn't make you proficient in Python To solve leetcode problems you use a really small subset of the language
Ludovic 'Archivist'
ahh....i've solved 200 leetcode problems with python , also did some small projects using tkinter , so i thought i should move to cpp for smaller runtimes
My recommendation would be to write some matter of libraries, one for every common C++ style. The cleanest would probably to reimplement the same library First try the imperative style, which is the closest to C and other commonly learned languages (no raw pointers, no uses of new or delete) Then the object oriented object style. It is somewhat bad but a very useful tool in one's arsenal Third, in a functional programming style. Constants, high order functions, transforms and monads, all the jazz And finally, in the risky 90s close to C style, just to make mistakes and learn how to fix them
Vyom
It doesn't make you proficient in Python To solve leetcode problems you use a really small subset of the language
yeah i'm not saying i know all python or i'm a professional.....maybe i chose the wrong word over there , i just meant that i have been doing competitive programming in python and its been going well but i have been advised by many seniors to switch to cpp cause of its better run time than python , they said same logic code might give tle in python but get accepted when coded in cpp so hence i started leaning cpp few days ago
Ludovic 'Archivist'
Well, and the standard containers
Vyom
Well, and the standard containers
there's this 31hrs course on youtube from freecodecamp which i'm following right now , i think it has all that
Vyom
Probably not the ranges, those are a fairly new addition
oh okay , i will look into those separately , thanks for the response 😀
Ludovic 'Archivist'
Also, 31 hours is a very short overview, when I teach students that have worked with C# for 2 years already, and have 120 hours of course to give, I still see them as monkeys equipped with typewriters
Vyom
Also, 31 hours is a very short overview, when I teach students that have worked with C# for 2 years already, and have 120 hours of course to give, I still see them as monkeys equipped with typewriters
wow 🤯well i guess it'll be a good place to start at atleast 😅 i will work through all the previously done projects and problems in cpp to learn more
The
already using it kinda..
The
there is no lock free queue off the shelf with front() on producer side.. and no atomics for strings again headache to manage the sync myself for front element
Anonymous
there is no lock free queue off the shelf with front() on producer side.. and no atomics for strings again headache to manage the sync myself for front element
If you are looking for a lock free queue with a front method then it means you have not understood what lock free algorithms mean. It would be easier to think of this if you assume that you are using a busy waiting queue instead of a lock free queue. Now in a busy wait queue, if front were supported, then there is no guarantee when a client who calls the front method will actually call pop. And in the meantime if some other client wants to call pop(), the client would have a indefinite wait time. So a front method needs to be paired with another method to determine if the queue's state remains unchanged or it has changed and this goes against the idea of lock free and wait free algorithms. So no matter how hard you try, you will not find a good implementation of a lock free queue which supports front() method. There would be some "just getting started with atomics" developers who may offer you a version that does this but you can rest assured that it would be wrong. I would suggest that you read up on concurrency and atomics. Atomics in Rust is a good book if you are familiar with Rust syntax. If not, I would suggest reading Computer Organization by Carl Hamacher to get a good idea about this.
Anonymous
Also, 31 hours is a very short overview, when I teach students that have worked with C# for 2 years already, and have 120 hours of course to give, I still see them as monkeys equipped with typewriters
The C++ course for first year Computer Science undergrads in my university is 48 hours long (3 hours every week). I am a Teaching Assistant for the course. It teaches C++20 but drops off features like concurrency, coroutines and stuff. The students are expected to explore these areas on their own. Concepts are covered and ranges are introduced. Modules is introduced from the beginning (header files are excluded expect for the part where we talk about the global module fragment). They are taught to compile modules to produce a BMI using gcc and Clang from the beginning. The courseware following that expects projects to be coded in C++.