לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #6  
ישן 11-04-2010, 02:32
צלמית המשתמש של פסטן
  פסטן פסטן אינו מחובר  
 
חבר מתאריך: 14.12.09
הודעות: 9,751
בתגובה להודעה מספר 5 שנכתבה על ידי Dragonion שמתחילה ב "חשבתי שהם אמורים להיות כמו..."

אז זהו, שלא...
§9.2.17
A pointer to a POD-struct object, suitably converted using a reinterpret_cast, points to its initial
member (or if that member is a bit-field, then to the unit in which it resides) and vice versa. [Note: There
might therefore be unnamed padding within a POD-struct object, but not at its beginning, as necessary to
achieve appropriate alignment. ]

§9.2.12
Nonstatic data members of a (non-union) class declared without an intervening access-specifier are allocated
so that later members have higher addresses within a class object. The order of allocation of nonstatic
data members separated by an access-specifier is unspecified (11.1). Implementation alignment requirements
might cause two adjacent members not to be allocated immediately after each other; so might
requirements for space for managing virtual functions (10.3) and virtual base classes (10.1).


באופן מעניין, למערכים מובטח שהגודל של מערך של N אלמנטים מטיפוס T יהיה בגודל של N כפול sizeof(T)‎. המשמעות של זה היא שפנייה לאלמנטים שונים של מערך יכולה לקחת זמן שונה, בתלות ב-alignment.

ושוב, אני ממליץ להשיג עותק על התקן. מגלים שם דברים מעניינים.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #10  
ישן 11-04-2010, 09:31
  Dragonion Dragonion אינו מחובר  
 
חבר מתאריך: 22.08.08
הודעות: 310
בתגובה להודעה מספר 9 שנכתבה על ידי hellfrost שמתחילה ב "מסקרן אותי לדעת בישביל מה אתה..."

לייצג כל מיני טיפוסים מתמטיים בצורות שונות. לדוגמא:
קוד PHP:
 struct pairf
{
    
float x1;
    
float x2;
};

struct matrix2
{
    
union
    
{
        
#pragma pack(1)
        
struct
        
{
            
float m10;
            
float m11;
            
float m20;
            
float m21;
        };

        
#pragma pack(1)
        
struct
        
{
            
pairf c1;
            
pairf c2;
        };

        
float m[4];
    };
}; 

יש כאן יצוג של מטריצה דו מימדית בתור אינדקסים, בתור וקטורי עמודות (או שורות, סתם בחירה שלי) ובתור מערך.
הסיבה העיקרית שאני רוצה את זה היא בשביל מודלים תלת מימדיים.
APIים כמו OpenGL ו D3D רוצים לקבל מערכים של מספרים שמייצגים מודל, אבל זה מעצבן מאוד להתעסק אתם בצורה כזאת. כל שינוי קטן שרוצים לעשות צריך להתחיל להוסיף מספרים ולהכפיל את הiterators, לכן אני רוצה באותו זמן לייצג את המודל בתור וקטורים, רק בלי להחליף בינהם כל הזמן.

לא הגיע הזמן שמישהו בעולם הזה יתקן יצוג של טקסט מימין לשמאל ומשמאל לימין באותה שורה?
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 19:34

הדף נוצר ב 0.05 שניות עם 11 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2025 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר