Siirry sisältöön
Käyttämällä Twitterin palveluita hyväksyt evästeiden käytön. Toimimme yhteistyökumppaneidemme kanssa kansainvälisesti ja käytämme evästeitä muun muassa tilastoihin, mukauttamiseen ja mainoksiin.
  • Etusivu Etusivu Etusivu, nykyinen sivu.
  • Tietoja

Tallennetut haut

  • Poista
  • Tässä keskustelussa
    Varmennettu tiliSuojatut twiitit @
Ehdotetut käyttäjät
  • Varmennettu tiliSuojatut twiitit @
  • Varmennettu tiliSuojatut twiitit @
  • Kieli: suomi
    • Bahasa Indonesia
    • Bahasa Melayu
    • Català
    • Čeština
    • Dansk
    • Deutsch
    • English
    • English UK
    • Español
    • Filipino
    • Français
    • Hrvatski
    • Italiano
    • Magyar
    • Nederlands
    • Norsk
    • Polski
    • Português
    • Română
    • Slovenčina
    • Svenska
    • Tiếng Việt
    • Türkçe
    • Ελληνικά
    • Български език
    • Русский
    • Српски
    • Українська мова
    • עִבְרִית
    • العربية
    • فارسی
    • मराठी
    • हिन्दी
    • বাংলা
    • ગુજરાતી
    • தமிழ்
    • ಕನ್ನಡ
    • ภาษาไทย
    • 한국어
    • 日本語
    • 简体中文
    • 繁體中文
  • Onko sinulla tili? Kirjaudu sisään
    Onko sinulla tili?
    · Unohditko salasanasi?

    Uusi Twitterissä?
    Rekisteröidy
Käyttäjän tloch14 profiili
Timothy Lochner
Timothy Lochner
Timothy Lochner
@tloch14

Tweets

Timothy Lochner

@tloch14

Senior Engine Architect. Rightware Inc. Game Engine Dev by night. Ask me about Mana Engine.

United States
medium.com/@tloch14
Liittynyt elokuu 2010

Tweets

  • © 2021 Twitter
  • Tietoja
  • Ohjekeskus
  • Ehdot
  • Yksityisyyskäytäntö
  • Evästeet
  • Mainosten tiedot
Hylkää
Edellinen
Seuraava

Siirry henkilön profiiliin

Tallennetut haut

  • Poista
  • Tässä keskustelussa
    Varmennettu tiliSuojatut twiitit @
Ehdotetut käyttäjät
  • Varmennettu tiliSuojatut twiitit @
  • Varmennettu tiliSuojatut twiitit @

Mainosta tätä twiittiä

Estä

  • Twiittaa sijainti ilmoittaen

    Voit lisätä twiitteihisi sijainnin, esimerkiksi kaupungin tai tarkemman paikan, verkosta ja kolmannen osapuolen sovellusten kautta. Halutessasi voit poistaa twiittisi sijaintihistorian myöhemmin. Lue lisää

    Listasi

    Luo uusi lista


    Alle 100 merkkiä, valinnainen

    Yksityisyys

    Kopioi linkki twiittiin

    Upota tämä twiitti

    Embed this Video

    Lisää tämä twiitti verkkosivustollesi kopioimalla alla oleva koodi. Lue lisää

    Lisää tämä video verkkosivustollesi kopioimalla alla oleva koodi. Lue lisää

    Hmm, palvelinyhteydessä oli ongelmia.

    Upottamalla Twitter-sisältöä sivustollesi tai sovellukseesi hyväksyt Twitterin kehittäjäsopimuksen ja kehittäjäkäytännön.

    Esikatselu

    Miksi näet tämän mainoksen

    Kirjaudu sisään Twitteriin

    · Unohditko salasanasi?
    Eikö sinulla ole tiliä? Rekisteröidy »

    Rekisteröidy Twitteriin

    Etkö ole Twitterissä? Rekisteröity, virittäydy seuraamaan asioita, joista välität ja vastaanota päivityksiä tapahtumista.

    Rekisteröidy
    Onko sinulla tili? Kirjaudu sisään »

    Kaksisuuntaiset (lähetys ja vastaanotto) lyhytnumerot:

    Maa Koodi Asiakkaille yrityksessä
    Yhdysvallat 40404 (mikä tahansa)
    Kanada 21212 (mikä tahansa)
    Yhdistynyt kuningaskunta 86444 Vodafone, Orange, 3, O2
    Brasilia 40404 Nextel, TIM
    Haiti 40404 Digicel, Voila
    Irlanti 51210 Vodafone, O2
    Intia 53000 Bharti Airtel, Videocon, Reliance
    Indonesia 89887 AXIS, 3, Telkomsel, Indosat, XL Axiata
    Italia 4880804 Wind
    3424486444 Vodafone
    » Näytä muiden maiden lyhytnumerot tekstiviesteille

    Vahvistus

     

    Tervetuloa kotiin!

    Tällä aikajanalla vietät suurimman osan ajastasi ja saat välittömiä päivityksiä sinulle tärkeistä asioista.

    Eivätkö twiitit ole mieleesi?

    Siirrä osoitin profiilikuvan päälle ja napsauta Seurataan-painiketta lopettaaksesi tilien seuraamisen.

    Sano paljon pienellä teolla

    Kun näet twiitin, jota rakastat, napauta sydäntä — siten voit kertoa twiitin kirjoittaneelle henkilölle jakavasi rakkautta.

    Jaa sanomaa

    Nopein tapa jakaa jonkun muun twiitti seuraajillesi on uudelleentwiittaus. Napauta kuvaketta lähettääksesi sen heti.

    Liity keskusteluun

    Lisää ajatuksesi twiittiin vastaamalla. Etsi sinua kiinnostava aihe ja hyppää mukaan keskusteluun.

    Pysy ajan tasalla

    Näe välittömät päivitykset siitä, mistä ihmiset puhuvat juuri nyt.

    Näe enemmän sitä, mitä rakastat

    Seuraa lisää tilejä nähdäksesi välittömät päivitykset sinua kiinnostavista aiheista.

    Selvitä, mitä tapahtuu

    Näe mihin tahansa aiheeseen liittyvät viimeisimmät keskustelut välittömästi.

    Älä jää paitsi hetkestäkään

    Pysy ajan tasalla parhaista tarinoista niiden tapahtuessa.

    1. Bobby Anguelov‏ @Bobby_Anguelov 7 t7 tuntia sitten
      Vastauksena käyttäjälle @tloch14

      Why would const change the type? Wouldn't that make any const_cast UB?

      1 vastaus 0 uudelleentwiittausta 0 tykkäystä
    2. Timothy Lochner‏ @tloch14 6 t6 tuntia sitten
      Vastauksena käyttäjälle @Bobby_Anguelov

      It seems to me that the two vector types are unrelated. So they may as well be struct A{}; and struct B{}; It seems that you may as well be doing: A a; B& b = (b&)a; which I believe is UB.

      1 vastaus 0 uudelleentwiittausta 0 tykkäystä
    3. Bobby Anguelov‏ @Bobby_Anguelov 6 t6 tuntia sitten
      Vastauksena käyttäjälle @tloch14

      Why do you think that? Nothing in the vector itself changes (ptr + size) and the type pointed to also doesn't change. Just the access semantics. Afaik. I can const_cast a const int and modify it without it being UB. Right?

      2 vastausta 0 uudelleentwiittausta 0 tykkäystä
    4. Timothy Lochner‏ @tloch14 6 t6 tuntia sitten
      Vastauksena käyttäjälle @Bobby_Anguelov

      The compiler is free to reorder members within a class regardless of the order they were declared in. No implementations do (that I know of), but we aren't asking about implementations.

      2 vastausta 0 uudelleentwiittausta 0 tykkäystä
    5. Timothy Lochner‏ @tloch14 6 t6 tuntia sitten
      Vastauksena käyttäjille @tloch14 ja @Bobby_Anguelov

      I guess, all that being said, I gave it a shot in godbolt with -fsanitize=undefined and it didn't return any errors. *shrug*. If it were me, I'd use a span<int const *>.

      3 vastausta 0 uudelleentwiittausta 0 tykkäystä
    6. Timothy Lochner‏ @tloch14 6 t6 tuntia sitten
      Vastauksena käyttäjille @tloch14 ja @Bobby_Anguelov

      At risk of inciting a mob, those who follow @lefticus may be best equipped to answer this.

      1 vastaus 0 uudelleentwiittausta 0 tykkäystä
    7. Jason Turner‏ @lefticus 6 t6 tuntia sitten
      Vastauksena käyttäjille @tloch14 ja @Bobby_Anguelov

      Yes, they are two completely unrelated types, and it is UB. Breaks strong aliasing rules. Most uses of const_cast enable UB and almost all uses of reinterpret_cast result in UB, and your c-style cast is a reinterpret_cast. I'll let @shafikyaghmour link his articles

      3 vastausta 0 uudelleentwiittausta 4 tykkäystä
    8. Bobby Anguelov‏ @Bobby_Anguelov 6 t6 tuntia sitten
      Vastauksena käyttäjille @lefticus, @tloch14 ja @shafikyaghmour

      So what's the most performant way to get a const version of those pointers in an array format? Std::span? And before c++20?

      1 vastaus 0 uudelleentwiittausta 0 tykkäystä
    9. Jason Turner‏ @lefticus 6 t6 tuntia sitten
      Vastauksena käyttäjille @Bobby_Anguelov, @tloch14 ja @shafikyaghmour

      I'd need more context for what you intend to do with them, but span can be implemented pretty simply in even C++14, and should do what you want

      1 vastaus 0 uudelleentwiittausta 0 tykkäystä
    10. Bobby Anguelov‏ @Bobby_Anguelov 6 t6 tuntia sitten
      Vastauksena käyttäjille @lefticus, @tloch14 ja @shafikyaghmour

      I have a vector of ptrs that I need to return in a read only format (I.e.) users aren't allowed to modify any data pointed to. I am assuming the span is also doing a const cast internally to go from: Std::vector<foo*> to std::span<foo const*> Right?

      2 vastausta 0 uudelleentwiittausta 0 tykkäystä
      Timothy Lochner‏ @tloch14 5 t5 tuntia sitten
      Vastauksena käyttäjille @Bobby_Anguelov, @lefticus ja @shafikyaghmour

      The difference is that casting from foo* to foo const * is not really a cast. The pointer is copied to a compatible type. Casting the vector<foo*> to a vector<foo const*>& is a reinterpret cast from one type to an unrelated type (despite them both being of the same template).

      13.13 - 31. elok. 2021
      • 2 tykkäystä
      • Joshua T. Fisher Jason Turner
      0 vastausta 0 uudelleentwiittausta 2 tykkäystä

      Lataaminen näyttää kestävän hetken.

      Twitter saattaa olla ruuhkautunut tai ongelma on muuten hetkellinen. Yritä uudelleen tai käy Twitterin tilasivulla saadaksesi lisätietoja.

        Mainostettu twiitti

        false

        • © 2021 Twitter
        • Tietoja
        • Ohjekeskus
        • Ehdot
        • Yksityisyyskäytäntö
        • Evästeet
        • Mainosten tiedot