stanford-oval/wikipedia huggingface dataset:
Yhdiste

Kemiallinen yhdiste on kahdesta tai useammasta keskenään reagoineesta alkuaineesta koostuva aine. Yhdisteessä alkuaineiden määrät ovat tietyssä suhteessa toisiinsa nähden. Esimerkiksi vesi on yhdiste, jossa on vetyatomeja kaksi kertaa niin paljon kuin happiatomeja.
Yhdisteen koostumusta kuvataan kemiallisella kaavalla. Veden kaava on H2O. Yhdisteen rakennetta puolestaan kuvataan rakennemallilla, ja yksinkertaisimpia malleja ovat kalottimalli ja pallotikkumalli. Rakennekaavalla tai viivakaavalla kuvataan tarkemmin yhdisteen molekyylin rakennetta.
Yhdisteen pienin rakenneyksikkö on molekyyli. Tämän vuoksi seos ei ole yhdiste, koska seoksen komponentit eivät ole kemiallisesti sitoutuneet toisiinsa. Esimerkiksi messinki on metalliseos, joka muodostuu erillisistä kupari- ja sinkkiatomeista, joiden suhde messingissä vaihtelee.
Osa kemiallisista yhdisteistä sisältää kovalenttisia sidoksia, osa ionisidoksia. Ioniyhdisteitä syntyy, kun keskenään reagoivista aineista toinen luovuttaa elektronin tai elektroneja ja toinen vastaanottaa niitä. Elektroneja luovuttanut aine hapettuu ja elektroneja vastaanottanut aine pelkistyy. Tällöin hapettunut aine on pelkistin ja pelkistynyt aine on hapetin. Kovalenttinen sidos taas muodostuu siten, että molekyylit jakavat elektroneja keskenään. Kovalenttisia sidoksia on sellaisissa yhdisteissä, joissa on pitkiä ja monimutkaisia ketjuja tai muita monimutkaisia rakenteita. Metallisidoksissa elektronit kiertävät yhtä tai useampaa atomia.
Joskus yhdisteet muuttavat muotoaan esimerkiksi siten, että nesteestä saostuu ainetta, joka kiteytyy kiinteäksi kiteiseksi aineeksi. Näin voi tapahtua, kun neste on ylikyllästynyt.
Yhdisteet jaetaan orgaanisiin ja epäorgaanisiin. Hiiltä sisältävät yhdisteet ovat joitakin poikkeuksia lukuun ottamatta orgaanisia. Kaikki hiiltä sisältämättömät yhdisteet ovat epäorgaanisia. Orgaanisten yhdisteiden yleisiä ominaisuuksia ovat ne seikat, että ne hajoavat kuumennettaessa, niillä on voimakas haju, ne ovat hyviä liuottimia, mutta ne itse liukenevat huonosti veteen, sekä se, että ne eivät johda sähköä. Hiiliatomit muodostavat keskenään kovalenttisia sidoksia ja ne muodostavat hiiliketjuja.
Kemiallisia yhdisteitä rekisteröidään CAS-numeroin. Kemiallisia yhdisteitä ja alkuaineita ja kemiaan liittyviä seikkoja määrittää IUPAC, joka on maailman merkittävin järjestö kemian termien nimeämisessä.
Aiheesta muualla

Kuvia tai muita tiedostoja aiheesta Yhdiste Wikimedia Commonsissa
C++

| C++ |
| --- | --- |

Paradigma:  moniparadigmainen; proseduraalinen, olio-ohjelmointi, geneerinen, funktionaalinen
Tyypitys:  vahva, staattinen
Yleinen suoritusmalli:  käännettävä
Muistinhallinta:  manuaalinen, RAII
Julkaistu:  1983
Kehittäjä:  Bjarne Stroustrup
Vakaa versio:  ISO/IEC 14882:2020
Merkittävimmät toteutukset:  GCC, Visual C++, LLVM/Clang, Intel C/C++, Borland C++, IBM XL C++
Vaikutteet:  C, Ada, Simula, CLU
Vaikuttanut:  Java, C99, D, C#, Rust
Käyttöjärjestelmä:  alustariippumaton
Verkkosivu:  https://isocpp.org/
Uutisryhmä:  comp.lang.c++
C++ on ohjelmointikieli, jonka Bjarne Stroustrup kehitti 1980-luvulla. Kieli on kehitetty C-kielestä lisäämällä siihen muun muassa olio-ohjelmointiin ja geneerisyyteen liittyviä ominaisuuksia.
C++-kielen standardi ISO/IEC 14882:1998 vahvistettiin vuonna 1998, C++11 (ent. C++0x) vuonna 2011, C++14 (ISO/IEC 14882:2014) vuonna 2014, ja C++17 (ISO/IEC 14882:2017) vuonna 2017. Uusin standardiversio C++20 (ISO/IEC 14882:2020) on julkaistu vuonna 2020.
C++ sisältää muun muassa luokat, virtuaalisen moniperintätuen, mallit (templates) ja poikkeukset. C++ perustuu C-kieleen siten, ettei kieltä ole suunniteltu uudelleen, vaan uusia ominaisuuksia on lisätty. Kieli on moniparadigmainen, mahdollistaen muun muassa proseduraalisen-, olio- ja geneerisen ohjelmoinnin. Kieli ei ole täysin funktionaalisen ohjelmoinnin kieli, mutta mahdollistaa monia vastaavia käyttötapoja.
Muistinhallinta perustuu RAII (engl. Resource acquisition is initialization) -konseptiin, joka soveltuu muun muassa käyttöön poikkeuksien kanssa.
C++:lla on kirjoitettu suuri osa maailman ohjelmistoista, mukaan lukien käyttöjärjestelmät, lääketieteelliset ohjelmistot, simulointiohjelmistot, finanssialan ohjelmistot, tietokoneavusteisen suunnittelun ohjelmistot, sulautetut järjestelmät, tietokoneverkot, ja videopeliohjelmistot (mm. pelimoottorit). TIOBE:n vuosittain päivittyvässä indeksissä C++ oli neljänneksi yleisin ohjelmointikieli huhtikuussa 2021.
Historia ja vaikutteet

C++:n kehitys alkaa vuodesta 1979, jolloin Bjarne Stroustrup työskenteli tohtorintutkinnon parissa. Tuolloin Stroustrup työskenteli muun muassa Simula-kielellä, jonka sanotaan olevan ensimmäinen olio-ohjelmoinnin paradigmaa tukeva kieli. Stroustrup koki paradigman hyvin käytännölliseksi, mutta kielen liian hitaaksi käytännölliseen soveltamiseen. Tämän jälkeen Stroustrup aloitti C with Classes -laajennuksen kehittämisen C-kieleen. Vuonna 1983 kielen nimi vaihtui C++:ksi.
C++:n luokat ja luokkahierarkia on peräisin Simulasta. Kieli lainasi myös suunnitteluajattelun, jossa luokat mallintavat käsitteitä ohjelmoijan ja sovelluksen maailmassa eivätkä ainoastaan notaationaalisessa merkityksessä.
Kielen suunnittelussa vältettiin ominaisuuksia, jotka aiheuttaisivat ajonaikaista tai muistikuormitusta.
Uudet versiot kielen standardista julkaistaan nykyään kolmen vuoden välein. Aikaisemmin uudet versiot julkaistiin kun ne olivat "valmiita", joka aiheutti pitkiä viivästyksiä ja epävarmuutta kielen käyttäjille ja soveltajille. Julkaisua muutettiin siten, että ennakolta valitaan tietty ajankohta jolloin valmiit ominaisuudet julkaistaan tuolloin ja keskeneräiset ominaisuudet jäävät myöhempään ajankohtaan, jolloin niiden parissa työskennellään muiden asioiden ohella. Kaksi vuotta on käytännön minimi ISO-standardointiprosessissa ja kolme vuotta on koettu sopivaksi balanssiksi.
Kehitysvaiheet

Kielestä on julkaistu useita kehitysversioita:
C++98 (ISO/IEC 14882:1998) oli kielen ensimmäinen ISO-standardoitu versio.
C++03 sisälsi korjauksen std::vector määrittelyyn, jonka mukaan elementtien käyttämä muistialue on oltava jatkuva (joka takaa yhteensopivuuden perinteisempien taulukoiden kanssa).
C++11 lisää tuen mm. säiekohtaiselle muistille (thread_local-avainsanalla) sekä säikeistykselle yleisesti. Standardikirjastoon lisättiin uudet älyosoittimet, kuten std::shared_ptr (toteuttaa viitelaskennan).
C++14 lisää tuen mm. lambda-funktioille eli anonyymeille inline-funktioille.
C++17 on laaja päivitys, jossa on mm. UTF-8-merkkijonoliteraalit, standardoitu tiedostojärjestelmätuki sekä standardikirjaston rinnakkaissuorituksen parantaminen.
C++20 äänestettiin valmiiksi 15. helmikuuta 2020 ja julkaistiin joulukuussa 2020.
C++23 on seuraava versio, jota kehitetään C++20:n seuraajaksi
C++26 on suunnitteilla oleva tuleva versio
Kehitysvaiheet > ISO-standardit

C++ ISO/IEC standardista on julkaistu seuraavat versiot:
ISO/IEC 14882:1998 (1998)
ISO/IEC 14882:2003 (2003)
ISO/IEC 14882:2011 (2011)
ISO/IEC 14882:2014 (2014)
ISO/IEC 14882:2017 (2017)
ISO/IEC 14882:2020 (2020)
Kehitysvaiheet > Tekniset määrittelyt

Virallisten standardien lisäksi ISO-työryhmällä on eräitä teknisiä määrittelyjä, jotka eivät ole vielä varsinaisen standardin tasolla ja jotka ovat vielä muuttuvia.
Esimerkkinä N4514, joka määrittelee transaktiopohjaisen muistin käsittelyn tuen C++-kieleen. Osa ohjelmointikielen kääntäjistä tarjoaa kokeellisen tuen kuten esimerkiksi GCC.
ISO:n julkaisemia määrittelyjä:
ISO/IEC TR 18015:2006
ISO/IEC TR 19768:2007
ISO/IEC TR 29124:2010
ISO/IEC TR 24733:2011
ISO/IEC TS 18822:2015
ISO/IEC TS 19570:2015
ISO/IEC TS 19841:2015
ISO/IEC TS 19568:2015
ISO/IEC TS 19217:2015
Kehitysvaiheet > Standardidokumenttien saatavuus

Virallinen standardi on saatavissa ISO:lta korvausta vastaan, mutta viimeisin työskentelyluonnos on saatavilla julkisesti ilmaiseksi. Virallisessa standardissa on korjattu kirjoitusvirheitä ja lisätty selvennyksiä.
Standardidokumentit eivät ole tarkoitettu oppaaksi kielen oppimiseen, vaan ne ovat formaaleja sopimuksia kääntäjien ja standardikirjastojen kehittäjille.
Erot C:hen

Monet C-kielellä kirjoitetuista ohjelmista ovat myös kelvollista C++:aa., mutteivat kuitenkaan kaikki C:n kehittymisen aikana luotujen uusien varattujen sanojen ja tarkemman tyyppitarkistuksen vuoksi. C++ kuitenkin laajentaa C:tä huomattavasti, muun muassa nimiavaruustuella, isommalla standardikirjastolla, luokilla sekä malleilla.
Sekä C- että C++-kielissä käytetään samantyyppisiä käytäntöjä parhaan suorituskyvyn saavuttamiseksi. Käytännöt vaikuttavat miten monta käskyä toiminto vaatii. Esimerkiksi paikalliset muuttujat toimivat nopeammin kuin globaalit ja tietyt tietotyypit vaativat enemmän käskyjä suorituksen aikana.
Template-mallien käyttö metaohjelmointiin voi nopeuttaa suoritusta siirtämällä päätöksiä kääntäjälle. Template-mallit ovat C++:n monimutkaisempia ominaisuuksia, joiden yksi tarkoitus on vähentää toistuvaa koodia. Ne mahdollistavat käännösaikaisen laskennan, jolloin ajonaikaisesti ei tarvitse suorittaa ohjelmakoodia. Suorituskyky riippuu ohjelman toteutustavasta ja virheellinen toteutus voi olla hitaampi ja viedä enemmän muistia kun taas oikealla toteutuksella voi saada moninkertaisia parannuksia.
Standardikirjastot

C++ sisältää Standard Template Library (STL) -standardikirjaston. Se sisältää yleisiä ohjelmoijien tarvitsemia säiliöitä (containers), algoritmeja, funktioita ja iteraattoreita. STL-toteutus tulee yleensä kääntäjän mukana, mutta myös riippumattomia toteutuksia on olemassa.
C++:n standardikirjasto sisältää STL:n lisäksi myös suurimman osan C-kielen standardikirjastosta yhteensopivuuden vuoksi.
Polymorfismi

C++ tukee yksinkertaista perintää, abstrakteja pure virtual -luokkia, moniperintää sekä virtuaalista moniperintää.
Rajapinnan perimistä kutsutaan ajonaikaiseksi polymorfismiksi (tai dynaamiseksi polymorfismiksi) ja template-mallien tukemaa käännösaikaiseksi polymorfismiksi (tai staattiseksi polymorfismiksi).
C++:ssa funktiot voidaan määritellä:
virtual, jolloin se voidaan syrjäyttää perityssä luokassa
override, jolloin sen on pakko syrjäyttää kantaluokassa oleva
final, jolloin sitä ei voida syrjäyttää perityssä luokassa
Hello, World! -esimerkkiohjelma

#include <iostream>

int main() {
    std::cout << "Hello, world!\n";
}
Tämä on yleisesti käytetty esimerkkiohjelma C++-oppaissa. Se tulostaa näytölle tekstin ”Hello, world!” Kuten C:ssä, ohjelma alkaa komennoilla esikääntäjälle, tässä otsikkotiedoston liittämisellä #include-käskyllä. Lohkot rajataan aaltosuluilla {} ja ohjelma suoritetaan kutsumalla main-funktiota. Ohjaamalla teksti cout-olioon <<-operaattorilla teksti tulostuu stdout-virtaan (näytölle).
C++:n tulostuslauseen epätavallinen syntaksi johtuu kielen tukemasta operaattorien uudelleenmäärittelystä. C-kielen bittisiirto-operaattori << on C++:ssa määritelty virtaolioilla kirjoitusoperaattoriksi, ja tässä tapauksessa se kirjoittaa standarditulosteeseen.
C++:n kielioppi on samantapaista kuin C:n ja Javan. Lauseet päättyvät puolipisteeseen ;, eikä välilyöntejä tai muuta tyhjää tilaa oteta huomioon. Lohkot ympäröidään aaltosulkeilla { }, kommentit aloitetaan /* -merkinnällä ja päätetään */ -merkinnällä. Yhden rivin kommentti merkitään kahdella vinoviivalla //. Kaikki standardikirjaston luokat, funktiot ja enumeraatiot ovat std-nimiavaruudessa.
Nimiavaruudet

C++ tukee useaa nimiavaruutta.
C++17 lisäsi tuen sisäkkäisille nimiavaruuksille, joka mahdollistaa namespace A::B::C {} käytön aiemman namespace A { namespace B { namespace C {}}} sijaan.
Lisäksi kieli tukee nimiavaruuden aliasointia:
namespace foo {
    namespace bar {
         namespace baz {
             int qux = 42;
         }
    }
}
namespace fbz = foo::bar::baz;
int main()
{
    std::cout << fbz::qux << '\n';
}
C++ tukee myös anonyymejä nimiavaruuksia.
Aaltosuluilla merkittävät lohkot luovat oman nimiavaruuden kaltaisen näkyvyysalueen (engl. scope):
std::string foo = "foo";
{
    std::string foo = "foobar";

} // sisempi foo tuhotaan tässä

std::cout << foo << std::endl; // tulostaa ensimmäisen foo:n arvon
RTTI

Ajonaikainen tyyppitieto (engl. Run-time type information, RTTI) on ominaisuus, jolla välitetyn olion tyyppi voidaan tunnistaa ohjelman ajon aikana. Tämä mahdollistaa muun muassa perityn olion tyypin mukaisen käsittelyn.
class Asiakas
{
public:
    virtual ~Asiakas() {}
}

class KantaAsiakas : public Asiakas { ... };

void tyyppi(Asiakas *p)
{
    std::cout << typeid(*p).name() << std::endl;
    // tulostaa olion p tyypin nimen. tarkka muoto riippuu kääntäjästä.

    KantaAsiakas *k = dynamic_cast<KantaAsiakas*>(p);
    if (k != nullptr)
        k->bonus();
}
Poikkeusten käsittely

C++ tukee poikkeuksia ja pinon (stack) siivoamista (kuten näkyvyysalueelta eli scopesta poistuessa).
try
{
    throw "vikatilanne"; // const char *
}
catch (std::exception &e)
{
    std::cout << "poikkeus: " << e.what() << std::endl;
}
catch (...)
{
    std::cout << "tuntematon poikkeus" << std::endl;
}
Poikkeuskäsittelijä valitaan määrittelyjärjestyksessä ja tyypin mukaan.
Poikkeuskäsittely try-lohkolla ja throw-operaattorilla on valinnaista, jolloin niiden aiheuttama lisäkuorma voidaan välttää.
Ellipsis (kolme pistettä) voi vastaanottaa tyypit, joille ei ole määritelty muuta käsittelijää.
RAII

Konseptia, jossa resurssit varataan konstruktorissa ja vapautetaan destruktorissa, kutsutaan nimellä engl. Resource acquisition is initialization, RAII. 
Konseptin ovat kehittäneet Bjarne Stroustrup ja Andrew Koenig vuosina 1984–1989 ja se on esitelty ensimmäisenä C++-kielessä.
RAII-muistihallintakonsepti voidaan esittää seuraavan triviaalin esimerkin avulla:
class Vector 
{
private:
    double *elem; 
    int sz;
public:
    Vector(int s) : elem{new double[s]}, sz{s} // constructor
    {
        for (int i = 0; i != s; ++i) elem[i] = 0;
    }
    ~Vector() { delete [] elem; } // destructor

    double& operator[] (int i) { return elem[i]; };
    int size() const { return sz; }
};

void fct(int n) 
{
    Vector v(n); // acquire and initialize
    // .. use v ..
    {
        Vector v2(n*2); // acquire and initialize
        // .. use v2 ..
    } // v2 destroyed
    // .. use v ..
} // v destroyed
Esimerkissä resurssit vapautetaan kutsumalla olion destruktoria:
poikkeustapauksessa
normaalisti poistuessa (näkyvyysalueen ulkopuolella)
Olion luominen tekee tarvittavan varauksen ja alustuksen, jotka olion destruktori vapauttaa. Menetelmä on poikkeusturvallinen eikä tarvitse roskienkeräystä tueksi.
Template-mallit

C++ tukee suoraan geneeristä ohjelmointia template-malleilla, joille voidaan antaa tyyppi parametrina. Mallit mahdollistavat geneerisen ohjelmoinnin, jossa samoja algoritmeja voidaan käyttää uusille tietotyypeille ilman erillisen toteutuksen kirjoittamista joka tyypille.
RAII-esimerkin ohjelmakoodi voidaan muokata geneerisemmäksi käyttämällä template-määrittelyä.
template<typename T> class Vector 
{
private:
    T *elem; 
    int sz;
public:
    Vector(int s) : elem{new T[s]}, sz{s} // constructor
    {
        for (int i = 0; i != s; ++i) elem[i] = 0;
    }
    ~Vector() { delete [] elem; } // destructor

    T& operator[] (int i) { return elem[i]; }
    int size() const { return sz; }
};

void fct(int n) 
{
    Vector<double> v(n); // acquire and initialize
    // .. use v ..
    Vector<int> v2(n)
    // .. use v2 ..

} // v2 and v destroyed
Lambda-lausekkeet

Lambda-lausekkeet ovat C++11:stä lähtien tuettu ominaisuus anonyymien funktioiden määrittelyyn niiden käyttökohdan yhteydessä. Lambda-lausekkeet ovat muutaman rivin pituisia toimintoja, jotka välitetään algoritmeille ja asynkronisille toiminnoille. Lambda-lausekkeiden kaappausta on muutettu yleistetyksi C++14:stä.
Esimerkki:
// esimerkki määrittelystä
auto glambda = [](auto a, auto&& b) { return a < b; };

bool b = glambda(3, 3.14); // kutsuminen
Kirjallisuutta

Stroustrup, Bjarne: The C++ Programming Language, s. 1–328.  Addison-Wesley, copyright Bell laboratories, 1986.  ISBN 0-201-12078-X
Stroustrup, Bjarne: The C++ Programming Language, s. 1–911.  (Third Edition, Bjarne Stroustrup The Creator of C++)  Addison-Wesley, copyright AT&T, 1997.  ISBN 0-201-88954-4
Stroustrup, Bjarne: C++ -ohjelmointi, s. 1–944.  (Alkuteos The C++ Programming Language, Third Edition, Bjarne Stroustrup The Creator of C++)  Suomentanut Veli-Pekka Ketola. Jyväskylä:  Teknolit, copyright AT&T, copyright Teknolit, 2000.  ISBN 951-846-026-4
Aiheesta muualla

Wikimedia Commonsissa on kuvia tai muita tiedostoja aiheesta .
Programming:C plus plus Wikibook, C++-opas (englanniksi)
Thinking in C++ (Arkistoitu – Internet Archive), kattava ilmainen e-kirja C++:sta (englanniksi)
C++ opas, laaja Suomenkielinen C++ opas.
C++ Standards Committee Papers (englanniksi)
C++17 Working Draft (englanniksi)
C++ Core Guidelines (englanniksi)
| n k Yleisimmät ohjelmointikielet |
| --- | --- |
Tuotantokäytössä:  Ada  APL  Assembly  AWK  C  C++  C#  COBOL  Dart  Delphi  Eiffel  Erlang  Forth  Fortran  Go  Java  JavaScript  Kotlin  Lisp  Lua  Objective-C  Pascal  Perl  PHP  PostScript  Python  R  Ruby  Rust  Smalltalk  Swift  Tcl  TypeScript  Visual Basic 
Akateemiset:  CLU  Haskell  Logo  ML  OCaml  Prolog  Scheme 
Historialliset:  ALGOL  BASIC  Modula-3  MUMPS  Plankalkül  PL/I  Simula 
Luettelo yleisimmistä ohjelmointikielistä
| Auktoriteettitunnisteet  |
| --- | --- |
Kansalliset:  Espanja  Ranska  BnF data  Saksa  Israel  Yhdysvallat  Tšekki 
Muut:  IdRef 
Luonnos standardista, josta tuli C++98.
Faktantarkistus

Faktantarkistus on journalistinen lähestymistapa, jossa analysoidaan yhden tai useamman henkilön lausuntoja perustuen todistettavissa oleviin, rationaalisiin ja objektiivisiin tosiasioihin. Ohessa voidaan tutkia myös sanallisia tai kirjallisia lausuntoja tosiasioihin rinnastamalla. Faktantarkistukseen voidaan ottaa mukaan myös poliittisten prosessien tieteellisiä analyysejä.
Termiä käytetään tutkimalla paitsi journalismia, myös esimerkiksi viranomaisiatai yhteiskunnallisia ryhmiä tai puolueita medioissa, vaikka tutkimusten todistettavuus ei ole välttämättä taattu.
Taustaa

Yhdysvalloissa ensimmäiset poliittisten väitteiden totuudellisuutta arvioivat organisaatiot syntyivät 2000-luvun alussa. Ensimmäinen faktantarkistukseen erikoistunut verkkosivusto FactCheck.org aloitti toimintansa vuonna 2003. Faktantarkistusorganisaatiot alkoivat tukea myöhemmin poliittiseen raportointiin liitettyä toimintaa lähes kaikilla Yhdysvaltain uutiskanavilla. 2010-luvulla riippumattomia faktantarkistajia on syntynyt yli 50 maassa, ja niiden toiminta ulottuu jokaiselle mantereelle. Näistä ryhmistä on aktiivisia 113 (2016). Niistä yli 90 prosenttia on perustettu vuoden 2010 jälkeen, ja vuosien 2014–2016 aikana käynnistyi noin 50.
Euroopassa ensimmäinen säännöllinen poliittisen faktantarkistuksen lähde on Britanniassa vuonna 2005 käynnistynyt The FactCheck -blogi, jonka tarkistus kattoi parlamenttivaaleja. Vastaavia syntyi vuonna 2008 Ranskassa ja Alankomaissa. Vuonna 2016 arvioitiin, että eri puolilla Eurooppaa oli syntynyt yhteensä yli 50 faktantarkistukseen erikoistunutta toimijaa, vaikka noin kolmannes niistä on joko sulkenut ovensa tai toimii satunnaisesti.lähde?
Menetelmät

Faktantarkistus voidaan tehdä joko ennen (ante hoc) kuin teksti on julkaistu tai levitetty tai sen jälkeen (post hoc).
Ennen levittämistä tapahtuva faktantarkistus pyrkii poistamaan virheitä ja mahdollistamaan tekstin levittämisen jatkamista, tai hylkäämistä, jos tekstin faktoja ei pystytä vahvistamaan.
Post hoc -tarkistuksen yhteydessä julkaistaan usein kirjallinen raportti epätarkkuuksista tai joskus tarkistavan organisaation visuaalinen mittari (esimerkiksi Washington Postin faktantarkistaja ”Pinocchio” tai PolitiFactin ”truth-o-meter”-arvosanat ). Useat järjestöt, esimerkiksi FactCheck, PolitiFact, ja NewsTrustin Truth Squad keskittyvät post hoc -faktantarkistukseen.lähde?
Menetelmät > Ennen julkaisemista tapahtuva tarkistus

Journalismissa ensimmäinen faktantarkistaja on kirjoittaja itse. Kirjassaan Varmistusjournalismin työkäytännöt Heikki Kuutti toteaa, että itsestäänselvästä tarkistusvaatimuksestaan huolimatta toimitukset eivät ole kiinnittäneet riittävästi huomiota kertomiensa tietojen paikkansapitävyyteen. Jos tietojen tarkkuus ja varmistaminen ylipäätään olisivat saaneet ansaitsemansa aseman, toimittajat suhtautuisivat nykyistä kriittisemmin käyttämiinsä lähteisiin, myös muualla julkaistuja tietoja tarkistettaisiin pelkän siteeraamisen sijasta ja oikaistavia virheitä julkaistaisiin nykyistä vähemmän.
Journalistien tulisi kiinnittää faktapohjalta esitettyjen väitteiden tarkistamisessa huomiota seuraaviin seikkoihin:
Lähteen tunnistaminen. Kuka on tuottanut esitetyn informaation. Onko lähteellä laajempaa hyväksyntää, auktoriteettiasemaa ja asiantuntemusta. Kuinka lähdettä on hyödynnetty aiemmin journalistisessa toiminnassa ja millaisia kokemuksia tästä on kertynyt.
Lobbarirooli. Voiko tietoa tuottaneella lähteellä olla salattuja tavoitteita tai motiiveja esittämänsä informaation kertomiselle. Vaikka tiedot voivat olla sinällään paikkansapitäviä, niistä koostuvat väitteet voivat olla yksipuolista ja tuloksiltaan harhaanjohtavia. Journalistien olisi verrattava tietoja tästä syystä muista lähteistä hankittaviin tietoihin.
Paikkansapitävyyttä koskeva näyttö. Millaisilla menetelmillä lähde on hankkinut ja tuottanut kertomansa informaation. Missä määrin näin tuotettuihin tietoihin sisältyy epävarmuutta niiden todenmukaisuudesta. Miten selville saatuja tuloksia on tulkittu.
Hyödynnetty tieto. Kuinka ajankohtaista on informaation taustalla oleva tietoaines. Miten aineiston otanta on toteutettu, onko tulosten arvioinnissa ollut käytettävissä vertailuryhmää, voidaanko tulokset uusia ja sisältyykö niihin keskinäisiä ristiriitaisuuksia. Millaisia ennakko-oletuksia informaation kokoajilla on saattanut olla keräämistään tiedoista.
Suurissa sanomalehdissä on faktantarkistusosastot. Esimerkiksi (vuonna 2010) The New Yorkerilla oli 16 faktantarkistajaa, kun taas The New York Timesin Magazinella oli edellistä vähemmän faktantarkistajia henkilökunnassaan, mutta se toimi yhteistyössä useiden freelancereiden kanssa. Der Spiegel aloitti faktantarkistuksen 1940-luvun lopulla. Lehden faktantarkistus vakiintui 1950-luvulla, kun lehden johto huomasi, että on tärkeää välttää virheitä ja että pitää olla mahdollista julkaista asioita, jotka tarkistetaan kahdesti, ja että tarkistaja ei ole vain kirjoittaja. Lehden julkaisemia faktoja tarkistaa 70 henkilöä, mutta joitakin henkilöitä toimii lehden tietokannan hallinnassa ja indeksoinnissa, joten faktantarkistajia on yhteensä noin 100, joista 80 on päätoimisia.
Toimittaja ja tietokirjailija Tuomas Murajan mukaan suomalaisissa mediataloissa ei 2017 ollut erillisiä faktantarkistajia.
Menetelmät > Faktantarkistus julkaisemisen jälkeen

Faktantarkistusororganisaatiot eivät ehkä pääse yhteisymmärrykseen tietojen oikeellisuudesta. Tutkimus tukee käsitystä siitä, että on tarpeellista kuulla enemmän kuin yhtä faktantarkastuksen lähdettä, jos halutaan saada aikaan yksimielisyys tarkistettavista lausunnoista.
Suomalaisen Faktabaarin menetelmä on seuraava. Saatuaan vinkin tarkistettavasta faktasta vihjelomakkeesta tai sosiaalisen median kautta Faktabaarin toimitus ottaa yhteyttä dokumentointiammattilaiseen, jolta se saa linkit asiaa koskeviin lakeihin, säädöksiin tai muihin vastaaviin. Tavoitteena on saada kaksi toisistaan riippumatonta lähdettä. Tämän jälkeen toimitus ottaa yhteyttä yhteen tai useampaan asiantuntijaan verkostossaan ja pyytää tutkimaan väitteen paikkansapitävyyttä. Saatu vastaus muokataan helposti luettavaan muotoon ja muokattu teksti lähetetään asiantuntijalle uudelleen arvioitavaksi. Kun muokattu teksti on hyväksytty, lisätään vielä saadut linkit ja tarkistettu fakta julkaistaan Faktabaarin sivustolla. Faktabaari on sitoutunut kansainvälisen verkostonsa kanssa hyvään faktantarkistustapaan.