у нас произносятся не так, как требует оригинальный язык, а как все привыкли.
В русском языке вообще мало заимствованных слов произносятся хоть как-то близко к оригиналу. Самый лучший пример - звук h. Как его блин только не мучают, то г (самый популярный вариант: hydro - гидро, Hamburg - Гамбург), в некоторых он исчезает (history - история), в более новых - на х (hello - хеллоу). Это нормально и очень даже хорошо, потому что например в английском из-за слишком сильного уважения к заимствованиям правила чтения крайне размыты.
Согласен, бред. Это алфавит, которым пользовались все народы СССР в 1925x-1940, кроме славян; ничего "иноземного" в нем нет. С точки зрения образования мы не отсталая страна, бо́льшая часть населения знает не то, что латиницу, а немецкий или английский на базовом уровне. С точки зрения коммерческой выгоды бред, ее не будет. С точки зрения технической вообще молчу.
Я вообще не понимаю эту всю беготню с кириллицей там, где ее внедрение намного дороже, чем обучить подавляющую часть населения страны латинице и транслиту, что уже давно сделано.
В итоге собственник чувствует, что он находится не на своем месте, выполняет чужую работу, поскольку без его участия компания не достигает желаемого результата
Что за бред? Цель сотрудников состоит не в том, чтобы чужому дяде помочь управлять компанией, а в том заработать побольше деньжат, поменьше поработав. Очень странно, что вы считаете, что за то, что вы им платите n денег они будут работать сами по себе на 100% для вашего блага. Они будут стараться сохранить зарплату не меньше n и уменьшить трату своих сил с учетом необходимости карьерного роста и собственной материальной обеспеченности. Такова человеческая природа - корысть и любовь к капиталу, ничего плохого по отношению к чужим людям в этом нет. Нужно с учетом этого их стимулировать, оптимизировать расходы на них. Это как заказать бригаду строить дом, не контролировать ее, не стоять над ними, а потом удивляться, почему за огромные деньги стены вдруг гниют, все кривое, котел турбированный, который они поставили вместо нормального на естественной тяге имеет малый срок службы. Никакого у них интереса в вашей компании, как и вашем доме, нет. Только деньги. И это - нормально
Если он даже не удосужился прошерстить информацию по поводу подготовки к собеседованию в этом конкретном месте, то при наличии других более-менее прошедших кандидатов его можно сразу отсеить
Насколько я понял, то что автор называет "кучей" - простая реализация линейного аллокатора, обертка над буфером в виде класса. По сути дела это - ни туда не сюда. Когда память исчисляется 10тками кб - проще тупо заранее все просчитать, а для объектов с динамическим размером делать буферы.
/sarcasm Я думаю, лучше ввести подобные ограничения для звонков не только с заграницы, но и из Москвы по коду номера. У жителей других субъектов вряд ли есть там родственники с изначально московскими кодами номеров, а те, у кого есть, сами включат. А то оттуда реально куча мошенников звонит, мне лично из за границы никто не разу не звонил / Если серьёзно, то я бы не отказался от возможности автоматом отправлять звонки с московских номеров в спам, у меня там никого нет
MSVC я взял, потому что работаю с Windows 10 (мне кажется логичным использовать для Windows компилятор Microsoft).
Новичкам будет очень трудно с него переходить на кроссплатформенные системы сборки, в то время как сборка под MinGW и (или) clang сама на это вынуждает. Clang отлично сочетается с MinGW и у последнего Windows-специфичный инструментарий уже не хуже, чем у MSVC (конечно, исключая ATL и MFC, но кому они сейчас нужны). Кроме того, MSVC имеет собственный "диалект" C++ (ярким примером его использования являются 2 выше упомянутые библиотеки). Новичок хотя бы немного научится работать с конфигами, потом вручную настроит IDE и отладчик.
Хотя, мне это уже напоминает начало холивара, поэтому, давайте закончим:)
А в Ubuntu я выбирал между GCC и Clang и в итоге выбрал GCC
Такая связка потому, что она лично у меня стоит. Использую neovim как IDE с clangd (как я его называю, "помогатор", исходя из названия работает на clang'е) и vimspector'ом (отладчик).
P. S. Во всяком случае на Windows, Clang не имеет собственной реализации стандартной библиотеки языка C и STL и поэтому есть выбор между MSVC и MinGW.
На Linux же у clang'а вроде есть неведомые libc и, соответственно, libc++.
Ваш код, насколько я понял, предназначен для работы с широкими символами (wchar_t)?
Да, что-то бегло прочитал. Лично у меня кириллица в однобайтовой кодировке нигде никогда и не работала, я даже не знал, что ее можно "впихнуть" в UTF-8.
Может быть, конечно, это будет сложно для новичка, но я бы лично ознакомил его сначала с пакетными менеджерами (и да, под Windows они тоже есть, Chocolatey, например), и, что самое на мой взгляд главное, компилятор бы посоветовал clang в связке MinGW. CMake, даже мне сейчас после простого Make, кажется сложным, особенно разница заметна в маленких проектах. Почему именно эти 2 компилятора? В принципе, сейчас нет большой разницы в поддержке библиотек, ведь есть CMake, однако, большинство вещей (например, флаги, формат библиотек, компоновщик) в MSVC сильно отличаются от других.
Для кириллицы в последнее время использую только этот способ:
Как-то странно писать такое... Но и я тоже один раз так ошибся: использовал shared_ptr на структуру с данными программы, но забыл его инициализировать. Потом удивлялся, почему не работает? Скомпилировал с флагом -g, открыл gdb, а там SEGFAULT на лицо.
Спасибо. Кстати, у меня есть еще один вопрос: почему бы вместо того, чтобы выносить функцию, которая в нашем случае рисует объект, не сделать вот так, основываясь на этом паттерне (Policy):
Код
template<typename T>
struct ShapeModel : public ShapeConcept {
using T::drawImpl;
T object;
explicit ShapeModel(T &&shape) : object(std::move(shape)) { }
explicit ShapeModel(const T &shape) : object(shape) { }
void draw() const override {
drawImpl(object);
}
};
Реализация класса Circle в таком случае:
Код
class Circle {
public:
// ...
static void drawImpl(const Circle &circle) {
// ...
}
private:
// ...
};
Здесь неплохо бы использовать концепты из C++20, ведь если бы наш класс не имел функции drawImpl, компилятор выдавал бы более понятные сообщения об ошибках.
Delete me!
В русском языке вообще мало заимствованных слов произносятся хоть как-то близко к оригиналу. Самый лучший пример - звук h. Как его блин только не мучают, то г (самый популярный вариант: hydro - гидро, Hamburg - Гамбург), в некоторых он исчезает (history - история), в более новых - на х (hello - хеллоу). Это нормально и очень даже хорошо, потому что например в английском из-за слишком сильного уважения к заимствованиям правила чтения крайне размыты.
Согласен, бред. Это алфавит, которым пользовались все народы СССР в 1925x-1940, кроме славян; ничего "иноземного" в нем нет. С точки зрения образования мы не отсталая страна, бо́льшая часть населения знает не то, что латиницу, а немецкий или английский на базовом уровне. С точки зрения коммерческой выгоды бред, ее не будет. С точки зрения технической вообще молчу.
Я вообще не понимаю эту всю беготню с кириллицей там, где ее внедрение намного дороже, чем обучить подавляющую часть населения страны латинице и транслиту, что уже давно сделано.
Что за бред? Цель сотрудников состоит не в том, чтобы чужому дяде помочь управлять компанией, а в том заработать побольше деньжат, поменьше поработав. Очень странно, что вы считаете, что за то, что вы им платите n денег они будут работать сами по себе на 100% для вашего блага. Они будут стараться сохранить зарплату не меньше n и уменьшить трату своих сил с учетом необходимости карьерного роста и собственной материальной обеспеченности. Такова человеческая природа - корысть и любовь к капиталу, ничего плохого по отношению к чужим людям в этом нет. Нужно с учетом этого их стимулировать, оптимизировать расходы на них. Это как заказать бригаду строить дом, не контролировать ее, не стоять над ними, а потом удивляться, почему за огромные деньги стены вдруг гниют, все кривое, котел турбированный, который они поставили вместо нормального на естественной тяге имеет малый срок службы. Никакого у них интереса в вашей компании, как и вашем доме, нет. Только деньги. И это - нормально
Если он даже не удосужился прошерстить информацию по поводу подготовки к собеседованию в этом конкретном месте, то при наличии других более-менее прошедших кандидатов его можно сразу отсеить
Насколько я понял, то что автор называет "кучей" - простая реализация линейного аллокатора, обертка над буфером в виде класса. По сути дела это - ни туда не сюда. Когда память исчисляется 10тками кб - проще тупо заранее все просчитать, а для объектов с динамическим размером делать буферы.
А я про WriteConsoleA
/sarcasm Я думаю, лучше ввести подобные ограничения для звонков не только с заграницы, но и из Москвы по коду номера. У жителей других субъектов вряд ли есть там родственники с изначально московскими кодами номеров, а те, у кого есть, сами включат. А то оттуда реально куча мошенников звонит, мне лично из за границы никто не разу не звонил / Если серьёзно, то я бы не отказался от возможности автоматом отправлять звонки с московских номеров в спам, у меня там никого нет
Новичкам будет очень трудно с него переходить на кроссплатформенные системы сборки, в то время как сборка под MinGW и (или) clang сама на это вынуждает. Clang отлично сочетается с MinGW и у последнего Windows-специфичный инструментарий уже не хуже, чем у MSVC (конечно, исключая ATL и MFC, но кому они сейчас нужны). Кроме того, MSVC имеет собственный "диалект" C++ (ярким примером его использования являются 2 выше упомянутые библиотеки). Новичок хотя бы немного научится работать с конфигами, потом вручную настроит IDE и отладчик.
Хотя, мне это уже напоминает начало холивара, поэтому, давайте закончим:)
Такая связка потому, что она лично у меня стоит. Использую neovim как IDE с clangd (как я его называю, "помогатор", исходя из названия работает на clang'е) и vimspector'ом (отладчик).
P. S. Во всяком случае на Windows, Clang не имеет собственной реализации стандартной библиотеки языка C и STL и поэтому есть выбор между MSVC и MinGW.
На Linux же у clang'а вроде есть неведомые libc и, соответственно, libc++.
Да, что-то бегло прочитал. Лично у меня кириллица в однобайтовой кодировке нигде никогда и не работала, я даже не знал, что ее можно "впихнуть" в UTF-8.
Может быть, конечно, это будет сложно для новичка, но я бы лично ознакомил его сначала с пакетными менеджерами (и да, под Windows они тоже есть, Chocolatey, например), и, что самое на мой взгляд главное, компилятор бы посоветовал clang в связке MinGW. CMake, даже мне сейчас после простого Make, кажется сложным, особенно разница заметна в маленких проектах. Почему именно эти 2 компилятора? В принципе, сейчас нет большой разницы в поддержке библиотек, ведь есть CMake, однако, большинство вещей (например, флаги, формат библиотек, компоновщик) в MSVC сильно отличаются от других.
Для кириллицы в последнее время использую только этот способ:
Код
Как-то странно писать такое... Но и я тоже один раз так ошибся: использовал shared_ptr на структуру с данными программы, но забыл его инициализировать. Потом удивлялся, почему не работает? Скомпилировал с флагом -g, открыл gdb, а там SEGFAULT на лицо.
Или так:
Спасибо. Кстати, у меня есть еще один вопрос: почему бы вместо того, чтобы выносить функцию, которая в нашем случае рисует объект, не сделать вот так, основываясь на этом паттерне (Policy):
Код
Реализация класса Circle в таком случае:
Код
Здесь неплохо бы использовать концепты из C++20, ведь если бы наш класс не имел функции drawImpl, компилятор выдавал бы более понятные сообщения об ошибках.
Я новичок, могу ошибаться, но реализация паттерна стратегия такая:
Код
Ваша реализация еще зачем-то использует умные указатели и виртуальные функции.