Что будет, если в двух файлах сделать функцию с одинаковым именем и параметрами? На каком этапе возникнет ошибка?
💩 Если вы определите функцию с одинаковым именем и параметрами в двух разных файлах, это нарушит One Definition Rule. Это правило гласит, что в пределах одной программы не может быть более одного определения любой переменной, функции или класса.
💩 Ошибка обычно возникает на этапе компоновки, когда компоновщик обнаруживает, что два объектных файла содержат определения для одной и той же функции. Компоновщик выдаст ошибку множественного определения и откажется создавать исполняемый файл.
💩 Один из способов решения этой проблемы - использование пространств имен. Вы можете поместить каждую функцию в свое собственное пространство имен, чтобы избежать конфликта имен. Например:
💩 Теперь вы можете использовать обе функции в своей программе, указывая пространство имен перед именем функции:
// fileA.cpp
namespace FileA {
void foo(int a) {
// Some code for file A
}
}
// fileB.cpp
namespace FileB {
void foo(int a) {
// Some code for file B
}
}
FileA::foo(1)
; и FileB::foo(2);
.Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Книги для C/C++ разработчиков
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Очередной #дайджест по С++
🍬 Книга «Coding Clean, Reliable, and Safe REST APIs with ASP.NET Core 8» — все о протоколе HTTP, стиле архитектуры REST и ASP.NET Core 8
🍬 Крутые функции современного C++ для использования в вашем проекте — парочка современных функций C++ и объяснение на минималистичном примере
🍬 Современный С++ в разработке девайсов — детали подхода разработки и взаимодействия с виртуальным ассистентом
🍬 Длительность хранения и Non-local Objects в C++ — рассмотрение глобальных переменных, динамических и локальных объектов потоков
🍬 Технические собеседования — что болит у тех, кто их проводит и кто на них приходит
🍬 Книга «Coding Clean, Reliable, and Safe REST APIs with ASP.NET Core 8» — все о протоколе HTTP, стиле архитектуры REST и ASP.NET Core 8
🍬 Крутые функции современного C++ для использования в вашем проекте — парочка современных функций C++ и объяснение на минималистичном примере
🍬 Современный С++ в разработке девайсов — детали подхода разработки и взаимодействия с виртуальным ассистентом
🍬 Длительность хранения и Non-local Objects в C++ — рассмотрение глобальных переменных, динамических и локальных объектов потоков
🍬 Технические собеседования — что болит у тех, кто их проводит и кто на них приходит
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔❓ Так сколько на самом деле строк на C нужно, чтобы выполнить a + b в Python?
Автор решил, что будет сравнивать разницу не в интерактивном режиме, а при чтении из файла. Потому, что в это случае, можно избавиться от лишних процедур ввода вывода для интерактивного режима. Соответственно Python будет исполнять файл. И вот будет сравниваться разница между выполнением пустого файла и файла, где сложение надо будет произвести. Что для этого нужно:
🔹 узнать сколько строк Python нужно вообще, чтобы исполнить пустой файл и выйти без ошибок
🔹 узнать сколько строк Python нужно, чтобы исполнить файл где надо сложить два числа не сохраняя никуда результат
🔹 узнать сколько строк Python нужно вообще, чтобы исполнить файл где идет сложение двух переменных содержащих числа
Читать статью
#почитать
Автор решил, что будет сравнивать разницу не в интерактивном режиме, а при чтении из файла. Потому, что в это случае, можно избавиться от лишних процедур ввода вывода для интерактивного режима. Соответственно Python будет исполнять файл. И вот будет сравниваться разница между выполнением пустого файла и файла, где сложение надо будет произвести. Что для этого нужно:
🔹 узнать сколько строк Python нужно вообще, чтобы исполнить пустой файл и выйти без ошибок
🔹 узнать сколько строк Python нужно, чтобы исполнить файл где надо сложить два числа не сохраняя никуда результат
🔹 узнать сколько строк Python нужно вообще, чтобы исполнить файл где идет сложение двух переменных содержащих числа
Читать статью
#почитать
Мы продолжаем собирать ваши истории о смене профессии и трудоустройстве в IT, чтобы написать большую аналитическую статью.
👉Если вы еще не рассказывали о своем опыте, пройдите короткий опрос по ссылке.
Please open Telegram to view this post
VIEW IN TELEGRAM
🥸👁️ Отслеживание изменений в директории с помощью Inotify
Автор материала столкнулся с задачей, где необходимо было отслеживать в ОС Linux изменение файла в директории на чистом С++. Так как чистый С++, Qt с его QFileSystemWatcher сразу отпадал, из-за того что необходимо было подключать QObject. В итоге выбор пал на линуксовую функцию Inotify.
Inotify позволяет через файловый дескриптор наблюдать за директорией или файлом, отслеживая их события. Все события ввода-вывода ссылаются на открытый файл с использованием файлового дескриптора. Файловый дескриптор представляет собой целое число типа int.
Работа типичной программы мониторинга организована следующим образом:
♦️ С помощью inotify_init() открывается файловый дескриптор
♦️ Добавляется одно или несколько событий для наблюдений
♦️ Ожидаем добавленное событие
♦️ Обрабатываются события, после чего снова начинаем ждать в бесконечном цикле
♦️ При отсутствии активных наблюдений или при получении определенного сигнала файловый дескриптор закрывается, выполняется очистка и программа завершает работу.
#туториал
Автор материала столкнулся с задачей, где необходимо было отслеживать в ОС Linux изменение файла в директории на чистом С++. Так как чистый С++, Qt с его QFileSystemWatcher сразу отпадал, из-за того что необходимо было подключать QObject. В итоге выбор пал на линуксовую функцию Inotify.
Inotify позволяет через файловый дескриптор наблюдать за директорией или файлом, отслеживая их события. Все события ввода-вывода ссылаются на открытый файл с использованием файлового дескриптора. Файловый дескриптор представляет собой целое число типа int.
Работа типичной программы мониторинга организована следующим образом:
♦️ С помощью inotify_init() открывается файловый дескриптор
♦️ Добавляется одно или несколько событий для наблюдений
♦️ Ожидаем добавленное событие
♦️ Обрабатываются события, после чего снова начинаем ждать в бесконечном цикле
♦️ При отсутствии активных наблюдений или при получении определенного сигнала файловый дескриптор закрывается, выполняется очистка и программа завершает работу.
#туториал
🎄✨ До Нового года осталось меньше недели, поэтому мы подводим итоги
🧑🎄 За год наше комьюнити стало больше почти на 4000 человек
❤️ Особенно вам понравились вот эти посты:
Свежие и обновленные статьи
LMDeploy — это набор инструментов для сжатия, развертывания и обслуживания LLM
Перегрузка операторов
Позднее связывание
Дайджест статей и материалов
💜 А ещё вы с интересом читали эти статьи:
Итог одной валютной удаленки: проработал месяц бесплатно и ушел с долгами
ТОП-10 книг по языку программирования С++ в 2023 году
ТОП-9 не самых очевидных компаний для стажировки в ИТ
🧑💻 В 2023 году мы запустили несколько новых каналов:
Библиотека собеса по C/C++ | вопросы с собеседований
Библиотека задач по C/C++ | тесты, код, задания
Книги для C/C++ разработчиков
Кстати, в канале с книгами прямо сейчас проходит новогодний розыгрыш 👈
🎁 И последнее, но не менее важное: мы сделали скидку -35% на все курсы нашей академии proglib.academy
🧑🎄 За год наше комьюнити стало больше почти на 4000 человек
❤️ Особенно вам понравились вот эти посты:
Свежие и обновленные статьи
LMDeploy — это набор инструментов для сжатия, развертывания и обслуживания LLM
Перегрузка операторов
Позднее связывание
Дайджест статей и материалов
💜 А ещё вы с интересом читали эти статьи:
Итог одной валютной удаленки: проработал месяц бесплатно и ушел с долгами
ТОП-10 книг по языку программирования С++ в 2023 году
ТОП-9 не самых очевидных компаний для стажировки в ИТ
🧑💻 В 2023 году мы запустили несколько новых каналов:
Библиотека собеса по C/C++ | вопросы с собеседований
Библиотека задач по C/C++ | тесты, код, задания
Книги для C/C++ разработчиков
Кстати, в канале с книгами прямо сейчас проходит новогодний розыгрыш 👈
🎁 И последнее, но не менее важное: мы сделали скидку -35% на все курсы нашей академии proglib.academy
🤔 Очередной #дайджест по С++
⏫ Книга «C++ for Financial Mathematics» — Книга учит всему, что вам нужно знать для решения реальных финансовых задач
⏫ Игровая легенда из 90-х — как работала 3dfx Voodoo «под капотом»? Пишем 3D-приложение с нуля на Glide
⏫ Poco — набор open-sorce библиотек для создания кроссплатформенных сетевых и веб-приложений
⏫ Мои советы после 20 лет в программировании — краткий очерк профессионального пути
⏫ Анализ приложений на C++ для оптимизации производительности — введение в оптимизацию производительности приложений на C++ с помощью таких инструментов, как Intel VTune Profiler и Intel Advisor
⏫ Книга «C++ for Financial Mathematics» — Книга учит всему, что вам нужно знать для решения реальных финансовых задач
⏫ Игровая легенда из 90-х — как работала 3dfx Voodoo «под капотом»? Пишем 3D-приложение с нуля на Glide
⏫ Poco — набор open-sorce библиотек для создания кроссплатформенных сетевых и веб-приложений
⏫ Мои советы после 20 лет в программировании — краткий очерк профессионального пути
⏫ Анализ приложений на C++ для оптимизации производительности — введение в оптимизацию производительности приложений на C++ с помощью таких инструментов, как Intel VTune Profiler и Intel Advisor
Чему бы вы хотели научиться?
Пишите в комментариях
Пишите в комментариях
👨🎓 14 бесплатных ресурсов, которые пригодятся каждому разработчику
Эти ресурсы помогут изучить новый стек с нуля, научиться решать алгоритмические задачи, наполнить портфолио интересными проектами и успешно пройти техническое собеседование.
Читать статью
Эти ресурсы помогут изучить новый стек с нуля, научиться решать алгоритмические задачи, наполнить портфолио интересными проектами и успешно пройти техническое собеседование.
Читать статью
-35% на курс по алгоритмам
🎄 Новый год начинается с подарков, а хороший подарок для себя — новые знания со скидкой 35%!
🌟«Алгоритмы и структуры данных» — 23 390 ₽ (вместо 35 990 ₽)
Полугодовая программа от преподавателей МФТИ и НИУ ВШЭ, которая включает в себя все необходимые знания по алгоритмам для работы.
Самое ценное — это развернутая обратная связь по всем вашим домашним заданиям, а также ссылки на полезные дополнительные материалы.
У вас не будет шансов не усвоить какие-то темы курса👌
🔥 Переходите и активируйте вводные занятия курса — https://proglib.io/w/ff97c30a
🎄 Новый год начинается с подарков, а хороший подарок для себя — новые знания со скидкой 35%!
🌟«Алгоритмы и структуры данных» — 23 390 ₽ (вместо 35 990 ₽)
Полугодовая программа от преподавателей МФТИ и НИУ ВШЭ, которая включает в себя все необходимые знания по алгоритмам для работы.
Самое ценное — это развернутая обратная связь по всем вашим домашним заданиям, а также ссылки на полезные дополнительные материалы.
У вас не будет шансов не усвоить какие-то темы курса👌
🔥 Переходите и активируйте вводные занятия курса — https://proglib.io/w/ff97c30a
🏦⚠️ Борьба с ошибками разработки ПО в финтехе
Рассказываем, как избежать неловких, а то и непоправимых ситуаций при разработке программного обеспечения для финтеха.
Читать статью
Рассказываем, как избежать неловких, а то и непоправимых ситуаций при разработке программного обеспечения для финтеха.
Читать статью
Forwarded from Библиотека задач по C++ | тесты, код, задания
Задача
Найти среднее арифметическое в трех рядах.
Для начала продумаем наше решение. Сразу условимся что длинна ряда у нас будет 5 . Хотите ставьте своё число. Нам надо найти среднее арифметическое в трех рядах, и в каждом по отдельности, т.е. мы сначала сделаем цикл для рядов, а потом в этом цикле сделаем еще один цикл только уже для чисел этого ряда.
Теперь подумаем какие переменные нам понадобятся :
Переменная summa — для суммы чисел каждого ряда
Переменная average — для среднего арифметического каждого ряда
Переменная number — обычное число которое мы будем постоянно прибавлять
Переменные i и j — для циклов, перпенные у нас будут локальные, т.е. использоваться и объявляться и цикле.
Найти среднее арифметическое в трех рядах.
Для начала продумаем наше решение. Сразу условимся что длинна ряда у нас будет 5 . Хотите ставьте своё число. Нам надо найти среднее арифметическое в трех рядах, и в каждом по отдельности, т.е. мы сначала сделаем цикл для рядов, а потом в этом цикле сделаем еще один цикл только уже для чисел этого ряда.
Теперь подумаем какие переменные нам понадобятся :
Переменная summa — для суммы чисел каждого ряда
Переменная average — для среднего арифметического каждого ряда
Переменная number — обычное число которое мы будем постоянно прибавлять
Переменные i и j — для циклов, перпенные у нас будут локальные, т.е. использоваться и объявляться и цикле.