ما أعرفه :اللغات اللي تناسب الاشارات الكهربائيه
VHDL, VHDL-AMS, Verilog, C, Ada, Assembly, C++, Java
الأمر يعتمد على طبيعة الدارة الكهربائية (...FPGA, µC,32 bit MCU)
|
|
ما أعرفه :اللغات اللي تناسب الاشارات الكهربائيه
VHDL, VHDL-AMS, Verilog, C, Ada, Assembly, C++, Java
الأمر يعتمد على طبيعة الدارة الكهربائية (...FPGA, µC,32 bit MCU)
|
|
ابغى اللغات الاعلى جودة
|
|
الأمر يعتمد على طبيعة الدارة الكهربائية (...FPGA, µC,32 bit MCU)ابغى اللغات الاعلى جودة
إن كنت تعملين على FPGA/ASIC/PLD/whatever فستحتاجين أحد هذه اللغات : Verilog, VHDL, AHDL/VHDL-AMS
إن كنت تعملين على DSP أو ARM عادي فستحتاجين للـ C
إن كنت تعملين على DSP يدعم الـ Java أو C++i فستحتاجين إحدى هاته اللغات.
إن كنت تعملين على Microcontroller فسيلزمك إما C أو Assembly.
لم أفهم ما تقصدينه بـ "لغات أعلى جودة" ولا أعتقد أنك أنت أيضاً تعلمين ما يعنيه هذا...
|
|
اقصد عمله يكون الاكثر مناسبة لل الاشارات الكهربائية
|
|
السلام عليكم،
أرجو من أحدكم أن يوضح لي إلى أين يعود this*?
في أمان الله.كود:CVector& CVector::operator= (const CVector& para) { x = para.x; y = para.y; return *this; }
|
|
|
|
شكرًا لك.
لم أكن أقصد this* بحد ذاتها، وإنما رجوعها إلى &CVector. بل الأصح هو أنني لم أفهم بعد الفائدة من جعل الـ function (بشكل عام) ترجع [مرجع (reference)].
فهمت المراجع اليوم إلا أن الفائدة من استخدامها في الـ function لم أفهمها. كما أن ما أثار فضولي هو أنه عندما نضعف مثلا الـ + أو - فإن الـ function تبع التضيعف تحتاج لأن ترجع قيمة، كالتالي:
x = x+5، فإن الـ + سيجمع العنصرين ويرجع قيمة الجمع ثم يقوم الـ = بنسخ الناتج إلى x (هنا يحتاج ال+ المضعف لأن يرجع قيمة تستبدل بدله لستخدمها الـ =)
أما x = y، يقوم الـ = بنسخ البيانات إلى x فقط. لا يرجع أي شيء، فلم عند تضعيفه نرجع مرجع (&CVector)، الأولى أن نضع void، وقد جربتها واشتغلت تمام.
وما زاد جنوني هو أن الـ format الأصلي لتضعيف الـ = هو أن يرجع مرجع! (قرأت هذا في الويكيبيديا وفي عدة مواقع أخرى http://en.wikipedia.org/wiki/Reference_(C%2B%2B)
---
حصلت لتوي على موقع جيد ليس بعيدًا عن الويكي: هنا
|
|
الحمد لله، وجدتها! سالت في موقع داني ويب، وكان هذا الرد:
اتضح كيف أن الـ = يمكن أن يكون مثل الـ + في حالة ما إذا كان أكثر من عملية مثال: x = y = z.You can chain together assignments, like "a = b = c;", in which case c would get assigned to b, and then b would get assigned to a, leaving a and b equal to c at the end. If an overloaded = didn't return anything, it couldn't be chained together like this.
So far as the reason for returning by reference, that means that the variable you're getting is an l-value. Basically, that means it's a non-temporary variable, you can take it's address, change it's value, etc. So if you had something like this,
You could do "someInstance.GetNum() = 5;" and that would set someInstance.someNum to 5. If it returned by value (i.e. "int GetNum() ..."), you couldn't set the value, because the thing returned by the function would be a temporary variable, and therefore it gets destroyed at the end of the line, and the semicolon.كود:class SomeClass { private: int someNum; public: int& GetNum() { return someNum; } };