C++
Открыть в Telegram
گروه آموزش زبان برنامه نویسی سی، سی پلاس پلاس خدمت شما دوستداران گرامی با امید بهره بردن و موفقیت شما همراهان🌹 ممنون که همراه ما میشین و ما رو حمایت میکنین 🌹 https://t.me/ourcpp
Больше2 130
Подписчики
-224 часа
-57 дней
-4730 день
Архив постов
2 130
👨🏫آموزش standard template library (STL)
🔘بخش سوم
➖قسمت ۷/۹
منبع:Linkedin
مدرس:Bill Weinman
#آموزش #stl
〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️
🔘گروه برنامه نویسی C/C++
🔘سی پلاس پلاس فارسی
2 130
👨🏫آموزش standard template library (STL)
🔘بخش سوم
➖قسمت ۶/۹
منبع:Linkedin
مدرس:Bill Weinman
#آموزش #stl
〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️
🔘گروه برنامه نویسی C/C++
🔘سی پلاس پلاس فارسی
2 130
👨🏫آموزش standard template library (STL)
🔘بخش سوم
➖قسمت ۵/۹
منبع:Linkedin
مدرس:Bill Weinman
#آموزش #stl
〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️
🔘گروه برنامه نویسی C/C++
🔘سی پلاس پلاس فارسی
2 130
👨🏫آموزش standard template library (STL)
🔘بخش سوم
➖قسمت ۴/۹
منبع:Linkedin
مدرس:Bill Weinman
#آموزش #stl
〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️
🔘گروه برنامه نویسی C/C++
🔘سی پلاس پلاس فارسی
2 130
👨🏫آموزش standard template library (STL)
🔘بخش سوم
➖قسمت ۳/۹
منبع:Linkedin
مدرس:Bill Weinman
#آموزش #stl
〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️
🔘گروه برنامه نویسی C/C++
🔘سی پلاس پلاس فارسی
2 130
👨🏫آموزش standard template library (STL)
🔘بخش سوم
➖قسمت ۲/۹
منبع:Linkedin
مدرس:Bill Weinman
#آموزش #stl
〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️
🔘گروه برنامه نویسی C/C++
🔘سی پلاس پلاس فارسی
2 130
👨🏫آموزش standard template library (STL)
🔘بخش سوم
➖قسمت ۱/۹
منبع:Linkedin
مدرس:Bill Weinman
#آموزش #stl
〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️
🔘گروه برنامه نویسی C/C++
🔘سی پلاس پلاس فارسی
2 130
وقتی که کد نویسی برنامه تموم میشه نوبت تست میشه😂
#fun
〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️
🔘گروه برنامه نویسی C/C++
🔘سی پلاس پلاس فارسی
.2 130
👨🏫آموزش standard template library (STL)
🔘بخش دوم
➖قسمت ۷/۷
منبع:Linkedin
مدرس:Bill Weinman
#آموزش #stl
〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️
🔘گروه برنامه نویسی C/C++
🔘سی پلاس پلاس فارسی2 130
👨🏫آموزش standard template library (STL)
🔘بخش دوم
➖قسمت ۶/۷
منبع:Linkedin
مدرس:Bill Weinman
#آموزش #stl
〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️
🔘گروه برنامه نویسی C/C++
🔘سی پلاس پلاس فارسی2 130
👨🏫آموزش standard template library (STL)
🔘بخش دوم
➖قسمت ۵/۷
منبع:Linkedin
مدرس:Bill Weinman
#آموزش #stl
〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️
🔘گروه برنامه نویسی C/C++
🔘سی پلاس پلاس فارسی2 130
👨🏫آموزش standard template library (STL)
🔘بخش دوم
➖قسمت ۴/۷
منبع:Linkedin
مدرس:Bill Weinman
#آموزش #stl
〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️
🔘گروه برنامه نویسی C/C++
🔘سی پلاس پلاس فارسی2 130
👨🏫آموزش standard template library (STL)
🔘بخش دوم
➖قسمت ۳/۷
منبع:Linkedin
مدرس:Bill Weinman
#آموزش #stl
〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️
🔘گروه برنامه نویسی C/C++
🔘سی پلاس پلاس فارسی2 130
👨🏫آموزش standard template library (STL)
🔘بخش دوم
➖قسمت ۲/۷
منبع:Linkedin
مدرس:Bill Weinman
#آموزش #stl
〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️
🔘گروه برنامه نویسی C/C++
🔘سی پلاس پلاس فارسی2 130
👨🏫آموزش standard template library (STL)
🔘بخش دوم
➖قسمت ۱/۷
منبع:Linkedin
مدرس:Bill Weinman
#آموزش #stl
〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️
🔘گروه برنامه نویسی C/C++
🔘سی پلاس پلاس فارسی2 130
#library #template_engine #string_manipulation #inja
استفاده از موتورهای ویرایش متن Inja
کتابخونهٔ inja یک Template Engine بسیار قوی هست، که شما میتونید با استفاده از این کتابخونه، عملیات منطقیای رو خیلی راحت روی رشتههاتون اعمال بکنید:
nlohmann::json data;
data["name"] = "another-ghasem";
std::string string = "yet another {{ name }}";
inja::render_to(std::cout, string, data);
حتیٰ با استفاده از این کتابخونه، میتونید از حلقهها هم داخل رشتهاتون استفاده بکنید. این کتابخونه به خوبی با Streamهای سیپلاسپلاس هماهنگ بوده و به راحتی با nlohmann::json کار میکند:
https://github.com/pantor/inja2 130
#library #json
استفاده از قالب JSON
برای استفاده از JSON در زبان سیپلاسپلاس، Parserهای زیادی وجود داره که ما اینجا بسته به نیازمون، سهتاش رو معرفی میکنیم:
1- nlohmann::json
2- RapidJSON
3- simdjson
درصورتیکه صرفاً نیاز به یک Serializer/Deserializerـه JSON بدون هیچ محدودیّت خاصی دارید، کتابخونهٔ
nlohmann::json فوقالعاده کتابخونهٔ عالیای هست، چرا که APIهای واقعاً تمیزی داره و خیلی راحت هست کارکردن باهاش و به خوبی با Streamهای سیپلاسپلاس همگامسازی شدهست.
امّا درصورتیکه نیاز به کتابخونهٔ سریع و پرقدرت دارید، متأسفانه باید بگم که قابلیّت APIهای تمیز و خوب رو از دست میدید. دو کتابخونهٔ RapidJSON و simdjson فوقالعاده سریع و بهینه نوشته شدهاند که نیازه قبل از استفاده در محیط خودتون؛ یک Benchmark بگیرید و انتخاب بکنید.2 130
#tips #conversion_operator #enum
مشکل استفاده از Conversion Operatorها با Enumerationها
یکی از عملیاتی که میتونیم برای نوع خودمون بازنویسی بکنیم، عملیات تبدیل نوع هست:
struct uuid_t {
std::size_t data;
};
void f(std::size_t id);
uuid_t uuid;
f(uuid);
در این مثال، کامپایلر به ما خطای: ناتوانی در تبدیل uuid_t به std::size_t به ما میده. که برای اینکه به کامپایلر بگیم چطوری این تبدیل رو انجام بده، باید از Conversion Operatorها استفاده بکنیم:
struct uuid_t {
std::size_t data;
operator std::size_t() {
return data;
}
};
جهت اجرا کردن:
https://wandbox.org/permlink/ULUIF75fB4y9EBsp
امّا متأسفانه این عملیات، در Enumerationها عملی نمیشه. و اگر بخوایم عملیات بیتی انجام بدیم، مجبوریم از Unscoped Enumeration ها استفاده بکنیم که احتمال خطای تداخل اسمی رو خیلی بالا میبره.
یک روشی که این امکان رو بهمون میده که هم Scoped Enumeration داشته باشیم و هم Conversion Operator: استفاده کردن از Unscoped Enumeration به علاوهٔ Namespaceها هست:
namespace my_enum {
enum _ {
enum_1, enum_2, enum_3
};
} // namespace my_enum
ما اینجا نیازی به تعریف Conversion Operatorها نداریم، چرا که این دسته از Enumerationها خودشون میتونند به Underlying Typeیی که دارند، به راحتی تبدیل بشند (تنها خوبیای که دارند 😂)
برای اجرا:
https://wandbox.org/permlink/yX6ceEztIl3wwajY2 130
👨🏫آموزش standard template library (STL)
🔘بخش اول
➖قسمت ۲/۲
منبع:Linkedin
مدرس:Bill Weinman
#آموزش #stl
〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️
🔘گروه برنامه نویسی C/C++
🔘سی پلاس پلاس فارسی