C����C++�ւ̕ύX�_
���̃v���g�^�C�v
C++�ł́A�ꕔC����Ƃ͈Ⴄ�A�܂��͊g�����ꂽ����������������܂�
�R���p�C���̎������x����A��x���ȕ����ł̈Ⴂ�͏ȗ����܂�
C++�v���O������ǂݏ�������̂ɁAC�v���O���}���Œ���m��ׂ����Ƃ��Љ�܂�
�܂��́A���̃v���g�^�C�v�ɂ��Ăł�
C����ł̃v���g�^�C�v�錾�ŁA�����ɉ����l�����Ȃ��ꍇ��void������K�v������܂�
�������AC++�ł͔C�ӂł��Bvoid���ȗ�����ƒl�����Ȃ������Ӗ����܂�
#include <stdio.h>
/*C����ł�void�����Ȃ���Ȃ�Ȃ�*/
void func(void);
void func() {
puts("kitty on your lap");
}
int main() {
func();
return 0;
}
���C����v���O�����ł�
C����ł́A�����ɉ������Ȃ����̏ꍇ�� void ������K�v������܂�
����́AANSI C �W������܂�O�́A�Â�C����� �O���錾 �Ƃ̌݊����̂��߂ł�
#include <iostream>
using namespace std;
/*C++�ł́Avoid���ȗ��ł���*/
void func();
void func() {
cout << "Kitty on your lap";
}
int main() {
func();
return 0;
}
�������C++�v���O�����ł�
C++�ł� void ���ȗ��ł��邽�߁A���̖����Ȃ��R���p�C�����邱�Ƃ��ł��܂�
�߂�l
���̖߂�l�ɑ���d�l�������ω����Ă��܂�
C����̏ꍇ�A���̖߂�l�̕����v���g�^�C�v�Ŏw�肳��Ă����Ԃ�
�����l��Ԃ��Ȃ������ꍇ�ł��A�R���p�C���ł��܂����i�ʏ�A�x�����o��j
���̏ꍇ�́A���e���ۏ���Ȃ��l���Ԃ���܂�
�������AC++�ł̓R���p�C���ł��܂���
�߂�l������ꍇ�́A�K�����炩���l��Ԃ��Ȃ��Ă͂Ȃ�܂���
/*test.c*/
#include <stdio.h>
int func() {
puts("Kitty on your lap");
return; /*�x�����o��\�������邪�A�R���p�C���\*/
}
int main() {
func();
return 0;
}
/*test.cpp*/
#include <iostream>
using namespace std;
int func() {
cout << "Kitty on your lap";
return; /*�R���p�C���G���[���o��*/
}
int main() {
func();
return 0;
}
�ϐ��̐錾�ʒu
ANSI C �W���ɏ������Ă��� C ����ł̃��[�J���ϐ��̐錾��
���Ȃ炸�A���Ȃǂ̃u���b�N�̐擪�Ő錾���Ȃ�������܂���
�������AC++�ł�������ꏊ�Ő錾�\�ł�
���̂��߁A�����̒����ȂǂŐ錾���邱�Ƃ��\�Ȃ̂ł�
#include <stdio.h>
int main() {
puts("Kitty on your lap");
char str[128] = "CardCaptorSakura";
puts(str);
return 0;
}
���̃v���O������C����Ƃ��ăR���p�C������ƃG���[���������܂�
�������A�t�@�C���g���q��cpp�ɕύX����C++�Ƃ��ăR���p�C������ƃR���p�C���ł��܂�
for�� �� if��
C++��for���ŁAC����Ƒ傫���قȂ�����������������ł�
��L�����悤�ɁAC++�ł̓��[�J���ϐ������R�Ȉʒu�Ő錾�\�ł�
���̂��߁Afor���[�v�ŗp����J�E���^�ϐ���for���̏����������Ő錾��
���[�v���I������Ƌ��ɁA�J�E���^�ϐ������ł��邱�Ƃ𗘗p���܂�
for���̏����������Ő錾���ꂽ�J�E���^�ϐ��́Afor���[�v�̃��[�J���Ȕ͈݂͂̂Ő����܂�
#include <stdio.h>
int main() {
for(int i = 0 ; i < 10 ; i++)
puts("Kitty on your lap");
return 0;
}
C++�̃\�[�X�Ƃ��ăR���p�C������ƃR���p�C���ł��܂�
���̐錾���@�́A�����̏�ʂŗp���邱�Ƃ��ł���̂Ŕ��ɕ֗��ł�
�����C����Ƃ��ăR���p�C������ƁA��͂�G���[���������܂�
���l�� if ���̏������ŕϐ���錾���邱�Ƃ��ł��܂�
������Aif �u���b�N�Ŏg���ꎞ�I�ȕϐ��Ƃ��Đ錾������̂ł���
if �ŕϐ���錾����P�[�X�͋H�ł�
#include <iostream>
int main() {
if (char *str = "Kitty on your lap") {
std::cout << str;
}
return 0;
}
�������A�Y��ŕێ�I�ȃv���O���������������̂ł����
�K���Ȉʒu�ŕϐ���錾����̂ł͂Ȃ��A�u���b�N�̐擪�ł܂Ƃ߂Đ錾����ׂ��ł�
�^�̏ȗ�
C��C++�̈Ⴂ�ŁA��\�I�ȗ�̈�Ɍ^�̏ȗ�������܂�
C�ł́A�\���́A���p�́A�y�ї^�̕ϐ��̐錾���ɂ�
�K�����̌^�����Ȃ�������܂���ł���
struct TAG value;
�Ⴆ�A���C����ō\���� TAG �^�̕ϐ��̐錾�ł�
struct�͏ȗ��ł������ȋC�����܂����AC����ł�����ȗ����邱�Ƃ͂ł��܂���
���p�̂Ȃ� union �^�Ȃ� enum �ł��邱�Ƃ����Ȃ�������Ȃ��̂ł�
C����ł�����ȗ����A��Ƃ��u���b�N�{�b�N�X������ɂ� typedef �Ȃǂ��g�p���܂�����
�������AC++�ł͌^���݂̂��w�肵�Astruct �Ȃǂ��ȗ����邱�Ƃ��ł��܂�
�i�������A�����ɏȗ����Ȃ��Ă����܂��܂��璷�ł��j
struct S_TAG {
int i;
};
union U_TAG {
int i;
double d;
};
enum E_TAG { A , B , C };
int main() {
S_TAG s_obj;
U_TAG u_obj;
E_TAG e_obj;
return 0;
}
�����C����̃\�[�X�Ƃ��ăR���p�C������ƃG���[���������܂���
C++�Ƃ��ĂȂ�Ζ��Ȃ��R���p�C�����邱�Ƃ��ł��܂�
�R�����g
C++�̃R�����g�́AC����ł�����݂� /* ... */ ��p���邱�Ƃ��ł��܂���
����ɕt������ // �Ƃ����R�����g���T�|�[�g����Ă��܂�
// �͈�s�R�����g�ŁA // �ȍ~���̍s���R�����g�Ƃ��܂�
�ŋ߂ł�C����ł� // �R�����g���T�|�[�g����Ă���̂ł����m�̕��������ł��傤
#include <iostream>
using namespace std;
int main() {
/* C���ꂨ����݂̃R�����g */
// C++�̃R�����g�ł�
// ��s�R�����g�ɂ͕���L���͂���܂���
cout << "Kitty"; //���߂̌�ł��\�ł�
return 0;
}