19:00:45 <x1sc0> #startmeeting
19:00:47 <IZBot> Meeting started Thu Mar 14 19:00:45 2019 UTC.  The chair is x1sc0. Plugin info at http://wiki.debian.org/MeetBot.
19:00:48 <IZBot> Useful Commands: #action #agreed #help #info #idea #link #topic.
19:01:03 <x1sc0> Hi, anyone around for the C++ lecture ?
19:01:09 * erAck waves
19:01:26 <x1sc0> erAck, do you have the minutes from the last lecture?
19:01:31 <x1sc0> were they logged ?
19:01:49 <erAck> x1sc0: I think I did the logging
19:01:56 * htietze salutes
19:02:02 <erAck> should be in the usual directory
19:02:16 <izabela[m]> good evening
19:02:26 <x1sc0> let me check
19:03:12 <x1sc0> oh yep, I found them
19:03:34 <x1sc0> izabela[m], sorry for the short notice about the lecture
19:03:37 <klevis> Hello! I am here for the lecture. Right now I am doing the build for LO on the VM you have provided me with.
19:03:43 <x1sc0> did you have time to watch the video?
19:04:10 <x1sc0> klevis, welcome! from Tirana as well ?
19:04:34 <izabela[m]> x1sc0:  no problem
19:04:42 <klevis> Yes I am from Tirana too
19:05:04 <x1sc0> cool
19:06:29 <x1sc0> #topic C++ lecture - Classes and Arrays
19:06:37 <x1sc0> so any question on the topic ?
19:07:58 <htietze> I do
19:08:35 <htietze> 1. If I got Marty right, the .h and .cxx have to be named like the class. Sounds strange, am I wrong?
19:09:09 <htietze> 2. Marty hasnt said anything about destructors. If I've seen it we do have those methods. Is it needed (think so).
19:09:55 <erAck> htietze: files don't have to be named like the classes, it's just one convention
19:12:39 <erAck> htietze: dtors depends; if you don't define one then the default dtor will be used by the compiler (which is to call dtors on all member variables of the class, and then the dtors of classes of which the class derived)
19:13:22 <htietze> erAck: #1 convention: okay, got it.
19:14:31 <htietze> #2 Let's say I create an array in the constructor. Don't I have to clean it up manually?
19:15:36 <erAck> htietze: if you use std::vector or any other that has a dtor then no; unless it holds something that needs manual cleanup by itself
19:16:48 <mikekaganski> htietze: also having a C-style array managed by a smart pointer such as std::unique_ptr allows to clean it up automatically
19:20:44 <htietze> Okay, there's a difference to Pascal. You have to clean up your mess yourself. But I think good style is not a blocker in C++. Nice :-).
19:21:49 <mikekaganski> Having proper dtors that allow one to automate cleanup *is* a good style; and the whole concept of RAII is built upot that ;-)
19:23:13 <klevis> I want to express my interest to participate in GSOC with LibreOffice. I do have some knowledge in programming languages such as Python, C++ and Java. Ever since I have been involved with LO with the lectures and online meeting, seeing such a friendly and serious community, I have decided to go through GSOC with LibreOffice as I think it will be best for me to advance in programming and the same time help the development of LibreOffice :)
19:23:21 <erAck> for those who don't know RAII:
19:23:23 <erAck> #link https://en.wikipedia.org/wiki/Resource_acquisition_is_initialization
19:25:42 <erAck> htietze: to that regard there's no difference, if you have produced a mess you have to clean it up yourself ;)
19:26:17 <erAck> klevis: good decision :)
19:28:51 <mikekaganski> htietze: when talking about abstract "array created in ctor", it's hard to tell what should be done in dtor. If that's something like member of type std::vector<int>, it's one thing; if that's a member of type void**, then it's totally different... and there are things in the middle :-)
19:30:15 <htietze> mikekaganski: Something dirty like int* foo[](); in ctor and methods to change the size.
19:31:33 <mikekaganski> htietze: that would definitely mean you have to clean it up in dtor; and also mean that you are not using good style...
19:32:08 <mikekaganski> htietze: there are ~no reasons novadays to use monsters like that
19:33:11 <mikekaganski> if you replace it with std::vector<int>, you would have all the size-changing options with easo of memory management
19:33:56 <mikekaganski> htietze: and even when you need to pass raw pointer to const array somewhere, std::vector allows you to have it
19:36:04 <htietze> std::vector is a cool thing
19:36:06 <x1sc0> klevis, that's great! normally we ask applicants to work on an easyhack before the application deadline
19:36:44 <klevis> Some things aboout me: I have studied for four years in professional high school in Electronics field (Electronic devices and circuit theory, computer architecture, telecommunication, and was introduced to C++ and Java), right now I am first year student in university, in Software Engineering.
19:36:58 <mikekaganski> htietze: there are other options also, with different constraints and overheads, like std::array e.g.
19:38:10 <x1sc0> klevis, so you have ~3 weeks to work on it
19:38:35 <x1sc0> this way we can evaluate your skills
19:42:21 * Sweetshark is late again. Had to fight my router, which wasnt providing me da internetz for some reason.
19:42:42 <x1sc0> Sweetshark, hey!
19:42:57 <x1sc0> so, any other question on today's topic ?
19:44:31 <x1sc0> izabela[m], klevis ?
19:44:37 <klevis> I understand x1sc0, will definitely do that. The application deadline you mean April 9?
19:44:51 * mikekaganski thinks about all those peculiarities of the classes in c++, with private/protected/publics; statics; virtual and multiple inheritance; ... and is curious why there are no questions... he must be outdated, and novadays it's some easy stuff ;-)
19:45:02 <klevis> Oh right, 3 weeks to work on it
19:45:07 <klevis> I got it!
19:45:10 <izabela[m]> x1sc0: no questions. i am following the discussions
19:45:18 <x1sc0> klevis, check https://wiki.documentfoundation.org/Development/GSoC/2019
19:45:47 <x1sc0> and this page for easyhacks: https://wiki.documentfoundation.org/Development/EasyHacks
19:46:00 <erAck> mikekaganski: questions arise when using ...
19:46:06 <mikekaganski> erAck: true
19:47:04 * x1sc0 agrees
19:48:13 <x1sc0> well, if there are no further questions, I guess we can close the meeting
19:48:30 <x1sc0> #endmeeting