Vlad
а, ну да, ты прав
zoleg
любовь к с++ - эт стокгольмский синдром
mefest
Denis
А кто любит-то? ^^
mefest
например
float posX, posY;
Berkus
иногда мне кажется уместно
неа, хороший тон в с++ это инициализировать переменные при объявлении, а в строчку это делать некрасиво и/или неудобно
Suigintou45
объявлять в процессе использования
mefest
mefest
Berkus
аналогично
Denis
На саммо деле, лично мне толко один варик нравится
int a, b, c, d;
std::tie(a, b, c, d) = fnshn();
Berkus
struct X {
int* p = nullptr;
int* w = nullptr;
}
Denis
Но после того, как разок-другой неинициализированную переменную проебёшь, такие строчки будут в пот кидать 😆
Berkus
Berkus
mefest
см выше
компилятор ругает за инициалицию переменных в .h
Berkus
возьми нормальный компилятор
mefest
gcc
Vlad
Roman
Atom is a notable exception, but if you expect performance on any general loads from Atom, you need to get your head examined.
Berkus
Denis
Vlad
Vlad
откуда эта страсть экономить строки?
Vlad
на дворе 2017 год
Berkus
~/Misc> cat str.h
struct X {
int* p = nullptr;
int* w = nullptr;
};
~/Misc> cat str.cpp
#include "str.h"
#include <iostream>
int main() {
X x;
std::cout << x.w << std::endl;
}
~/Misc> g++ -o str str.cpp -std=c++11
~/Misc> ./str
0x0
Denis
Denis
Обсуждали хорошо ли писать в строчку вот так
int a, b, c;
Vlad
Vlad
нельзя на это забиваться
Berkus
откуда там 0, это УКАЗАТЕЛЬ
Vlad
Berkus
это std::cout
Vlad
превращение nullptr в нулевой адрес - это UB
Berkus
блин
Berkus
я просто показал что оно инициализируется и компилится без варнингов
Berkus
до чего ты именно докапываешься в этом примере?
Vlad
погоди
Vlad
а почему должен быть ворнинг?
mefest
Berkus
Vlad
Al
mefest
Al
Ты этот h файл в много сишных инклудишь?
mefest
Al
Либо в h облявляй как static либо инициализируй в си и делай extern в h
Vlad
да хоть во сколько - в том случае не должно быть ругательств
Al
Так а где случай то!
Al
Если в h объявить int x = 0; и тыкать его везде
Vlad
кстати в C++17 можно будет написать inline int x = 0;
Vlad
наконец-то!
mefest
mefest
Berkus
Berkus
это внутри объекта, алло
Al
Berkus
не надо поля класса объявлять static, вы ща наобъявляете тут
Berkus
Al
Berkus
мы про поля сейчас говорили
Berkus
прочитай пожалуйста диалог выше
Al
Berkus
причем как ругался тоже не сказано
mefest
=)
Berkus
может быть на -Wc++11-extension
Al
Berkus