Avatar ·

В чем разница между #include <filename> и #include "filename" в C++?

مرحبًا أيها الزملاء! أنا مطور C++ مبتدئ وقد واجهت نقطة غير واضحة. في الكتب وأمثلة الكود، أرى طريقتين لتضمين ملفات الرأس: 1. `#include ` — مع أقواس زاوية. 2. `#include "myheader.h"` — مع علامات اقتباس. للوهلة الأولى، لا يوجد فرق — كلا الخيارين يضمّنان الملف. لكن لاحظت أن المكتبات القياسية (iostream، vector، string) تُكتب دائمًا بأقواس زاوية، بينما ملفاتي الخاصة (مثل "myclass.h") تُكتب بعلامات اقتباس. جربت كتابة `#include "iostream"` — تم تجميع الكود وعمل. بينما `#include ` أعطى خطأ "file not found". لماذا يحدث هذا؟ هل هي مجرد اتفاقية أسلوب أم هناك فرق تقني حقيقي؟ يهمني بشكل خاص: - كيف يبحث المترجم عن الملفات في كل حالة؟ - هل يؤثر الاختيار على الأداء؟ - هل هناك حالات يجب فيها استخدام خيار معين دون الآخر؟ أقدم مثالًا على كودي: ```cpp // main.cpp #include // يعمل