-
تعداد ارسال ها
97 -
تاریخ عضویت
-
روز های برد
25
آخرین بار برد قاسم رمضانی منش در 27 اردیبهشت 1400
قاسم رمضانی منش یکی از رکورد داران بیشترین تعداد پسند مطالب است !
اعتبار در سایت
63 عالیدرباره قاسم رمضانی منش
میانجی گرها
- تاریخ تولد 9 آذر 1378
اطلاعات شبکهای
- شناسه گیتهاب
موقعیت
-
شهر
Esfahan
آخرین بازدید کنندگان نمایه
-
database
قاسم رمضانی منش پاسخی برای قاسم رمضانی منش در یک سوال ارسال کرد در سوالات مشاورهای و تخصصی مرتبط با حوزهی برنامهنویسی
سلام و درود؛ دیتابیس MySQL انتخاب شد، امّا برنامهنویس اون قسمت من نبودم. -
mehrzero شروع به دنبال کردن قاسم رمضانی منش کرد
-
@axarbani با سلام؛ در مورد این کدی که ارسال کردید یه چند نکتهای نیاز شد که بگم: اوّل اینکه Header fileی که پیشنهاد کردید (conio.h) یک Header file منسوخ شدهٔ زمان MS-DOS برای هست که نمیدونم برای چی هنوز روی سیستمعامل Microsoft Windows هست و استفاده از این Header file نه تنها از خوانایی برنامهٔ شما کم میکنه بلکه قابلیّت Code portability رو هم از دست میدید و برنامهاتون صرفاً برای یک پلتفرم قابل کامپایل خواهد بود. پیشنهاد میکنم که از یک روش مطابق با Standard پیروی کنید مثلاً به جای استفاده از تابع getch() میتونید از std::cin.get() استفاده کنید. و مورد دوّم، متغیرهایی که استفادهای ازشون ندارید رو تعریف نکنید اینطوری باعث میشه که Compiler الکی Warning به شما بده. اکثراً استفادهای از متغیرهای Command lineی که برای تابع main() ارسال میشه نداریم.
- 4 پاسخ
-
- system pause
- system call
-
(و 1 مورد دیگر)
برچسب زده شده با :
-
قاسم رمضانی منش شروع به دنبال کردن روش دسترسی به اعضاء لیستها در CMake، فایل EXE، افزودن سورس کدهای مختلف و و 2 کاربر دیگر کرد
-
سلام؛ بهتر بود که نمونهٔ کدی که نوشتید را ارسال کنید، اگر ازsystem("puase") استفاده کنید در انتهای کد دیگه نباید پنجره تا زمان فشردن کلید Enter بسته بشه.
- 4 پاسخ
-
- system pause
- system call
-
(و 1 مورد دیگر)
برچسب زده شده با :
-
سلام و درود بر شما؛ خب شما باید از اون APIهایی که دو پروژهٔ مختلف بهشما میدهند استفاده کنید، و فقط یک تابع Main را نگهداری کنید. برای مثال، ما دو Source code داریم که به اینصورت تعریف شدهاند: main_1.cpp: #include <algorithm> #include <iostream> #include <vector> using vec_int = std::vector<int>; void print_vector(const vec_int& in) { std::for_each(in.begin(), in.end(), [](const auto& i) { std::cout << i << std::endl; }); } int main(void) { vec_int my_vec(10); print_vector(my_vec); } و یک Source code دیگر: main_2.cpp: #include <algorithm> #include <iostream> #include <vector> #include <ctime> using vec_int = std::vector<int>; void initilization_vector(vec_int& in) { std::srand(std::time(nullptr)); std::generate(in.begin(), in.end(), []() { return std::rand() % 100; }); } int main(void) { vec_int my_vec(10); initilization_vector(my_vec); } حالا برای اینکهما بتوانیم از APIهای این Source codeها استفاده کنیم ابتدا یک Header file درست میکنیم و اعلانهای APIهای مورد نظرمان را داخل آن مینویسیم: my_api.h: #ifndef MY_API_H #define MY_API_H #include <algorithm> #include <iostream> #include <vector> #include <ctime> using vec_int = std::vector<int>; namespace api { void print_vector(const vec_int& in); void initilization_vector(vec_int& in); } // namespace api #endif // MY_API_H همچنین برای تعاریف از یک Source file دیگر استفاده میکنیم: my_api.cpp: #include "my_api.h" void api::print_vector(const vec_int &in) { std::for_each(in.begin(), in.end(), [](const auto &i) { std::cout << i << std::endl; }); } void api::initilization_vector(vec_int &in) { std::srand(std::time(nullptr)); std::generate(in.begin(), in.end(), []() { return std::rand() % 100; }); } حال به راحتی میتوانیم در پروژهٔ تازه ایجاد کردهٔ خودمان از این APIهایی که از دو Source code مختلف با دو Main جدا جمعآوری شده را استفاده کنیم: main.cpp: #include "my_api.h" int main(void) { vec_int my_vec(10); api::initilization_vector(my_vec); api::print_vector(my_vec); } نمایی از محیط Code::blocks برای پروژهٔ بالا:
-
با StyleSheet زیاد امتحان کردهام آن خروجیای که مدنظرم هست (و توی عکسبالا هم ارسال کردهام) به دست نیومد.
-
در حالت عادی، ویجت QSlider به اینصورت نمایش داده میشود : برای رنگ بندی نوار QSlider، چه پیشنهادی دارید ؟ مثلاً به اینصورت :
-
خواهش میکنم؛ خب آره همینی هست که گفتهام، نمیدونم بیرونیترین شئ منظورت چیه ؟ ساختار QML درختی هست یعنی اینکه یک Root داره و میاد همینطوری پایین و شما کلاً یک Root هم بیشتر ندارید. شما اگه بیاید اون Rectangle رو داخل یک Item دیگه بزارید درواقع یک کامپوننتی دارید که قابلیّتهای Rectangle رو هم داره اینطوری : AnotherRectangle.qml import QtQuick 2.0 import QtQuick.Controls 2.0 Item { property alias rectangleId : recId; Rectangle { id: recId } } main.qml import QtQuick 2.13 import QtQuick.Window 2.13 Window { visible: true width: 640 height: 480 AnotherRectangle { anchors.centerIn: parent width: parent.width / 2 height: parent.height / 2 rectangleId.color: "Red" rectangleId.width: 100 rectangleId.height: 200 } }
-
سلام؛ فکر کنم منظورتون این باشه : AnotherRec.qml import QtQuick 2.0 Rectangle { } main.qml import QtQuick 2.13 import QtQuick.Window 2.13 Window { visible: true width: 640 height: 480 AnotherRec { anchors.centerIn: parent; width: parent.width / 2; height: parent.height / 2; color: "gray"; } } که اینجا ما یک کامپوننت جدیدی درست کردیم که از Rectangle به ارث برده، بد نیست اون مستنداتی هم که خوندید رو ارسال کنید شاید بحث کلاً یه چیز دیگهای بوده باشه.
-
نیاز دارم که برقرار بودن ارتباط به اینترنت در Build System پروژه بررسی کنم، از این رو با استفاده از تابع file یک آزمایشی میکنم: file( DOWNLOAD www.google.com ${CMAKE_SOURCE_DIR}/Test STATUS ERROR_CODE ) و خروجی در متغیر ERROR_CODE به حاوی شمارهٔ کد و متن خطا بهصورت یک لیست ذخیره میشود : امّا نمیتوانم با استفاده از تابع list و ورودی GET اقدام به دریافت یک مقدار بر اساس اندیس آن میکنم: list(GET ${ERROR_CODE} 0 MESSAGE_OUT) message(${MESSAGE_OUT}) امّا خروجی NOTFOUND میدهد، به اینصورت نیز بررسی کردهام: set(WITHOUT_ERROR "No error") foreach(VAR ${ERROR_CODE}) if(${VAR} EQUAL ${WITHOUT_ERROR}) message("Ghasem is here without error.") endif() endforeach() امّا باز خروجیای حاصل نشد. به چه صورت میتوان این مشکل را حل کرد ؟
-
قاسم رمضانی منش شروع به دنبال کردن قالببندی در تابع printf و مقایسهٔ std::mutex و Windows Mutex کرد
-
قاسم رمضانی منش پاسخی برای kambiz behnia در یک سوال ارسال کرد در سوالات عامیانه در رابطه با ++C مدرن
درود بر شما؛ یکی از دوستانی که این حرف رو هم تأیید میکنه آقای Anthony Williams (نویسندهٔ کتاب C++ Concurrency in Action و Maintainer کتابخانهٔ Boost.Thread) هست که در صفحهٔ ۱۲اُم به بعد از کتابشون در این مورد توضیحات لازم رو دادند که هزینهٔ استفاده از std::thread چقدر هست و فکر نمیکنم که دیگه ایشون در نوشتن الگوریتم چندان مشکلی داشته باشند. -
@zari درود بر شما؛ برای اینکه قسمت صحیح عدد را دریافت کنید میتونید اون عدد double را به نوع int تبدیل کنید : int main (void) { double some_double = 10.23; float some_float = 32.12; printf("double %f => %d.\nfloat %f => %d.\n", some_double, (int) some_double, some_float, (int) some_float); } خروجی: double 10.230000 => 10. float 32.119999 => 32.
-
قاسم رمضانی منش پاسخی برای kambiz behnia در یک سوال ارسال کرد در سوالات عامیانه در رابطه با ++C مدرن
علیکمالسلام و درود بر شما؛ راستش با توضیحاتی که دادید خیلی گیج شدم و منتظرم که وقتی باشد تا کتابی که پیشنهاد دادید را بخوانم، چون کدهایی که دوستمان ارسال کردهاند درواقع برای من اصلاً جواب نداد و Segmentation Fault داده. و تا به چیزی که امروز من یادگرفتهام میدانم که آدرس یک متغیر local را نباید از تابع برگرداند و این دقیقاً کاری هست که در کد انجام شده و کاری که من کردهام و دلیلی که بهتر دیدهام این بوده که حافظهای در Heap گرفتهام و آدرس آن را برگرداندم و این عمل بدون Segmentation Fault کار خود را انجام میدهد. امّا همینطوری که گفتم : اصلاً رفتار کد به درستی مشخص نبود و با توضیحات شما هم چیزی متوجه نشدم. -
inline
قاسم رمضانی منش پاسخی برای قاسم رمضانی منش در یک سوال ارسال کرد در سوالات عامیانه در رابطه با ++C مدرن
پس برای چه در خروجی اسمبلی تولید شده وجود ندارند ؟ در فیلمی که پیوند آن را ارسال کردهام توضیحاتی که داده است : «توابع inline درواقع دستوراتشان در همان قسمت فراخوانی قرار گرفته و کامپایل میشد.» در خروجی اسمبلی دوّم درست است ما تابعی با برچسب max_int (اسم تابع ما در مثال) نداریم امّا فراخوانی آن صورت گرفته است : call max_int@PLT و این قسمتی هست که متوجه نمیشم که دقیقاً چی را فراخوانی کرده ؟