محتوای حذف‌شده محتوای افزوده‌شده
واگردانی خرابکاری‌ها.
برچسب: خنثی‌سازی
برچسب‌ها: ویرایش همراه ویرایش از وبگاه همراه ویرایش پیشرفتهٔ همراه
خط ۱۰۷:
 
== تفاوت‌ها با زبان برنامه‌نویسی C ==
* سی پلاس پلاس بر خلاف سی، شئ گرا است،است؛ کلیدواژه‌های جدیدی مانند class,template,typename,alignas,class، template، typename، alignas، alignof و بسیاری دارد که سی فاقد آن است.
* در سی پلاس پلاس به چندین نوع می‌توان یک متغیر را اولیهمقداردهی سازیاولیه نمودکرد اما در سی تنها به روش کپی یا با عملگر =.
* معمولاً سرآیندهای سی ++ بدون پسوند .h نوشته می‌شوند (با .h هم می‌شود) و کتابخانه استاندارد سی هم می‌تواند با حرف c اول سرآیند داخل برنامه سی ++ شامل شود مانند:
 
معمولاً سرآیندهای سی ++ بدون پسوند .h نوشته می‌شوند (با .h هم می‌شود) و کتابخانه استاندارد سی هم می‌تواند با حرف c اول سرآیند داخل برنامه سی ++ شامل شود مانند:
 
<syntaxhighlight>
#include <iostream>
#include <cstdio>
</syntaxhighlight>
** در اینجا می‌توان جای <code>cstdio</code>، <code>stdio.h</code> نوشت اما جای <code>iostream,</code>، <code>iostream.h</code> نمی‌توان نوشت.
 
* در سی نمی‌توان با عملگر == دو رشته حرف یا استرینگ را مقایسه نمود اما در سی پلاس پلاس می‌شود. برای مثال:
در اینجا می‌توان جای <code>cstdio</code>، <code>stdio.h</code> نوشت اما جای iostream, iostream.h نمی‌توان نوشت.
C:
در سی نمی‌توان با عملگر == دو رشته حرف یا استرینگ را مقایسه نمود اما در سی پلاس پلاس می‌شود. برای مثال:
test.c
 
<syntaxhighlight lang="c">
#include <stdio.h>
سطر ۱۳۱ ⟵ ۱۲۷:
این برنامه هیچ خروجی ای ندارد اما به جایش می‌توان از تابع <code>strcmp()</code> استفاده نمود.
 
CPP:
test.cpp:
 
<syntaxhighlight lang="cpp">
#include <iostream>
سطر ۱۴۳ ⟵ ۱۳۸:
خروجی این برنامه Salam می‌باشد.
 
* در زبان سی برای تعریف چندین متغیر نشانگر به صورت زنجیره ایزنجیره‌ای نیاز به گذاشتن علامت ستاره '*' قبل هر متغیر بود اما اکنون به نوع بستگی دارد:
C:
<syntaxhighlight>
const char* *a,*b,*c;
</syntaxhighlight>
C++:
<syntaxhighlight>
const char* a,b,c;
</syntaxhighlight>
 
* structها در سی پلاس پلاس می‌توانند به عنوان یک کلاس نیز عمل کنند اما با این تفاوت که سطح دسترسی پیش فرض استراکت‌ها <code>public:</code> هستند. همچنین دیگر نیازی به گذاشتن کلیدواژه <code>struct</code> قبل تعریف متغیری با آن استراکت نیست:
C:
 
<syntaxhighlight>
struct test{
سطر ۱۶۶ ⟵ ۱۶۰:
}
</syntaxhighlight>
C++:
 
C++
<syntaxhighlight>
struct test{
سطر ۱۸۰ ⟵ ۱۷۳:
</syntaxhighlight>
 
* کلیدواژه <code>register</code>، در سی پلاس پلاس ۱۷ از سی پلاس پلاس حذف شد.
 
== کتابخانه استاندارد ==