2009ǯ07��24��

C++ �Ǥϥ��㥹�Ȥǥ��ɥ쥹���Ѥ���礬����ޤ�

���Τ������Ȥ߹��ߥ��եȥ�������ȯ�Ǥ� C++ ���Ȥ���褦�ˤʤäƤ��ޤ�����C ���� C++ �˰ܹԤ���ݡ������餯ï�⤬���٤ϰ��ä�����ΤǤϤʤ����Ȥ��� C++ �ε�ư�ˤĤ��ƽ񤭤ޤ���

C++ �Ǥϡ�¿�ŷѾ����� class(struct) �Υ��ɥ쥹�򰷤��ݤˤ����դ���ɬ�פ�����ޤ���
#include <stdio.h>

struct A {
    int a;
};

struct B {
    int b;
};

struct C : public A, public B {
};

int main()
{
    C *c = new C();
    B *b = c;
    A *a = c;

    printf("C = %p\n", static_cast<void*>(c));
    printf("B = %p\n", static_cast<void*>(b));
    printf("A = %p\n", static_cast<void*>(a));
    return 0;
}
���Υץ������ν��Ϸ�̤ϡ�C �� A �Υ��ɥ쥹���������ΤǤ�����B �����ۤʤ�ޤ�������ϡ�C++ ��¿�ŷѾ���������뤿��ˡ����㥹�ȤΤ��Ӥ˥��ɥ쥹�򤺤餹����Ǥ���class C (��̩�ˤ� struct �Ǥ������ǥե���Ȥθ���°�����ۤʤ�����ǡ��¼�Ʊ���Ǥ�) �μ��Τϡ�class A �μ��Τ� class B �μ��Τ��¤٤��褦�ʥ쥤�����Ȥǥ��������֤���ޤ������Τ��� class B �Ȥ��ƻ��Ȥ���ݤˤϡ�class A �Υ��С��� vtbl �Υ������ι�פ֤�������ɥ쥹�������ʤ��Τ褦�ʥ����ɤ򥳥�ѥ��餬��������ˤ櫓�Ǥ���

���Τ��� C �δ��Фǡ����ä��� void* �� intptr_t �ʤɤ˥��֥������ȤΥ��ɥ쥹���Ǽ�����ꤹ��ȡ��������ʵ�ư��Ǻ�ޤ�����礬����ޤ���

Embedded C++ �ǤϤ��⤽��¿�ŷѾ���¸�ߤ��ޤ��󤷡������ǥ��󥰵���ʤɤǶػߤ���Ƥ������¿���Ȼפ��ޤ��Τǡ��Ȥ߹��ߥץ�����ߥ󥰤ˤ����ƤϤ��ޤ�ռ�����ɬ�פ�̵�����Ȥ��⤷��ޤ��󤬡� �Ϥޤ�Ȥ�ä����ʾ��⤢�뤫�⤷��ޤ���

�ɵ� : @ssrisk ����˥����Ȥ򤤤������ޤ�����

http://twitter.com/sscrisk/status/2812305646
http://twitter.com/sscrisk/status/2813260721

�Τ��˼긵�� S&G �� p.426 �ˡ���p�Ѵ� ������ void * ���Ǥʤ���Фʤ�ʤ��פȽ񤤤Ƥ���ޤ��������ɤ������ޤ�����static_cast<type>(expr) �ϡ������ʥ��㥹�Ȥ���ǽ�ʾ��Τߥ��㥹�Ȥ������������ܤʾ��ϥ���ѥ��륨�顼�ˤʤ�Τǰ¿��Ǥ���

���⤽�� C++ �� printf ��Ȥ��ʤȤ����äǤ���ޤ����������̣����� C �� void * ���׵᤹��ؿ��� class �ؤΥݥ��󥿤��Ϥ������Υ���ץ�Ǥ⤢��ޤ��͡��ʸ����� ����

�ȥ�å��Хå�URL

�����Ȥ���

̾��
 
  ³¨Ê¸»ú
 
 
��������
�ǿ�����
���̥���������
�ǿ�������
<%==comments[n].author%>
<% } %>
�������������󥿡�
  • ������
  • ������
  • �߷ס�

<% for ( var i = 0; i < 7; i++ ) { %> <% } %>
<%= wdays[i] %>
<% for ( var i = 0; i < cal.length; i++ ) { %> <% for ( var j = 0; j < cal[i].length; j++) { %> <% } %> <% } %>
0) { %> id="calendar-611743-day-<%= cal[i][j]%>"<% } %>><%= cal[i][j] %>
���ƥ����̥���������
�������饦��
QR������
QR¥³¡¼¥É
���ԥޥ���������ԥ塼��

'); label.html('\ �饤�֥ɥ��֥����ǤϹ���Υѡ����ʥ饤�������¬��Τ��᥯�å���(cookie)����Ѥ��Ƥ��ޤ���
\ ���ΥХʡ����Ĥ��뤫�������³���뤳�Ȥǥ��å����λ��Ѥ�ǧ������������ΤȤ����Ƥ��������ޤ���
\ �ޤ��������ͤ����ҥѡ��ȥʡ���Ȥˤ��������μ�³���ˤ�ꡢ���å����λ��Ѥ�������뤳�Ȥ�Ǥ��ޤ���
\ �ܺ٤��饤�֥ɥ����ѵ���򤴳�ǧ����������\ '); banner.append(label); var closeButton = $('