Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
SafeInt kitaplığı, SafeInt sınıfının bir örneğini oluşturmadan kullanabileceğiniz çeşitli işlevler sağlar. Tek bir matematik işlemini tamsayı taşmasından korumak istiyorsanız, bu işlevleri kullanabilirsiniz. Birden çok matematiksel işlemi korumak istiyorsanız, nesneleri oluşturmanız SafeInt gerekir. Nesneleri oluşturmak SafeInt , bu işlevleri birden çok kez kullanmaktan daha verimlidir.
Bu işlevler, önce bunları aynı türe dönüştürmek zorunda kalmadan iki farklı parametre türü üzerinde matematiksel işlemleri karşılaştırmanıza veya gerçekleştirmenize olanak tanır.
Bu işlevlerin her biri iki şablon türüne sahiptir: T ve U. Bu türlerin her biri Boole, karakter veya tam sayı türünde olabilir. İntegral türleri imzalanabilir veya işaretsiz olabilir ve 8 bit ile 64 bit arasında herhangi bir boyuta sahip olabilir.
Not
Bu kitaplığın en son sürümü konumundadır https://github.com/dcleblanc/SafeInt.
Bu Bölümde
| İşlev | Açıklama |
|---|---|
| SafeAdd | İki sayı ekler ve taşmalara karşı korur. |
| SafeCast | Bir parametre türünü başka bir türe yazar. |
| SafeDivide | İki sayıyı böler ve sıfıra bölmeye karşı korur. |
| SafeEquals, SafeGreaterThan, SafeGreaterThanEquals, SafeLessThan, SafeLessThanEquals, SafeNotEquals | İki sayıyı karşılaştırır. Bu işlevler, türlerini değiştirmeden iki farklı sayı türünü karşılaştırmanıza olanak tanır. |
| SafeModulus | modulus işlemini iki sayı üzerinde gerçekleştirir. |
| SafeMultiply | İki sayıyı birlikte çarpar ve taşmalara karşı korur. |
| SafeSubtract | İki sayıyı çıkarır ve taşmalara karşı korur. |
İlgili Bölümler
| Bölüm | Açıklama |
|---|---|
| SafeInt | Sınıfı SafeInt . |
| SafeIntException | SafeInt kitaplığına özgü özel durum sınıfı. |
SafeAdd
Taşmalara karşı koruma sağlayan bir şekilde iki sayı ekler.
template<typename T, typename U>
inline bool SafeAdd (
T t,
U u,
T& result
) throw ();
Parametreler
t
[in] Eklenecek ilk sayı. Bu T türünde olmalıdır.
u
[in] Eklenecek ikinci sayı. Bu U türünde olmalıdır.
sonuç
[out] Sonucu depoladığı SafeAdd parametre.
Dönüş Değeri
true hata oluşmazsa; false hata oluşursa.
SafeCast
Bir sayı türünü başka bir türe yazar.
template<typename T, typename U>
inline bool SafeCast (
const T From,
U& To
);
Parametreler
Başlangıç
[in] Dönüştürülecek kaynak numarası. Bu, türünde Tolmalıdır.
İşlem
[out] Yeni sayı türüne başvuru. Bu, türünde Uolmalıdır.
Dönüş Değeri
true hata oluşmazsa; false hata oluşursa.
SafeDivide
İki sayıyı sıfıra bölmeye karşı koruyacak şekilde böler.
template<typename T, typename U>
inline bool SafeDivide (
T t,
U u,
T& result
) throw ();
Parametreler
t
[in] Kar payı. Bu T türünde olmalıdır.
u
[in] Bölen. Bu U türünde olmalıdır.
sonuç
[out] Sonucu depoladığı SafeDivide parametre.
Dönüş Değeri
true hata oluşmazsa; false hata oluşursa.
SafeEquals
Eşit olup olmadıklarını belirlemek için iki sayıyı karşılaştırır.
template<typename T, typename U>
inline bool SafeEquals (
const T t,
const U u
) throw ();
Parametreler
t
[in] Karşılaştıracak ilk sayı. Bu T türünde olmalıdır.
u
[in] Karşılaştıracak ikinci sayı. Bu U türünde olmalıdır.
Dönüş Değeri
truet ve u eşitse; değilse false.
Açıklamalar
yöntemi, iki farklı sayı türünü karşılaştırmanıza olanak sağladığından iyileştirir == SafeEquals .
SafeGreaterThan
İki sayıyı karşılaştırır.
template<typename T, typename U>
inline bool SafeGreaterThan (
const T t,
const U u
) throw ();
Parametreler
t
[in] Karşılaştıracak ilk sayı. Bu, türünde Tolmalıdır.
u
[in] Karşılaştıracak ikinci sayı. Bu, türünde Uolmalıdır.
Dönüş Değeri
truet u'dan büyükse; değilse false.
Açıklamalar
SafeGreaterThan iki farklı sayı türünü karşılaştırmanıza olanak tanıyarak normal karşılaştırma işlecini genişletir.
SafeGreaterThanEquals
İki sayıyı karşılaştırır.
template <typename T, typename U>
inline bool SafeGreaterThanEquals (
const T t,
const U u
) throw ();
Parametreler
t
[in] Karşılaştıracak ilk sayı. Bu, türünde Tolmalıdır.
u
[in] Karşılaştıracak ikinci sayı. Bu, türünde Uolmalıdır.
Dönüş Değeri
truet, u'dan büyük veya buna eşitse; değilse false.
Açıklamalar
SafeGreaterThanEquals iki farklı sayı türünü karşılaştırmanıza olanak sağladığından standart karşılaştırma işlecini geliştirir.
SafeLessThan
Bir sayanın diğerinden küçük olup olmadığını belirler.
template<typename T, typename U>
inline bool SafeLessThan (
const T t,
const U u
) throw ();
Parametreler
t
[in] İlk sayı. Bu, türünde Tolmalıdır.
u
[in] İkinci sayı. Bu, türünde Uolmalıdır.
Dönüş Değeri
truet u'dan küçükse; değilse false.
Açıklamalar
Bu yöntem, iki farklı sayı türünü karşılaştırmanıza olanak sağladığından standart karşılaştırma işlecini SafeLessThan geliştirir.
SafeLessThanEquals
İki sayıyı karşılaştırır.
template <typename T, typename U>
inline bool SafeLessThanEquals (
const T t,
const U u
) throw ();
Parametreler
t
[in] Karşılaştıracak ilk sayı. Bu, türünde Tolmalıdır.
u
[in] Karşılaştıracak ikinci sayı. Bu, türünde Uolmalıdır.
Dönüş Değeri
truet, u'ya eşit veya ondan küçükse; değilse false.
Açıklamalar
SafeLessThanEquals iki farklı sayı türünü karşılaştırmanıza olanak tanıyarak normal karşılaştırma işlecini genişletir.
SafeModulus
modulus işlemini iki sayı üzerinde gerçekleştirir.
template<typename T, typename U>
inline bool SafeModulus (
const T t,
const U u,
T& result
) throw ();
Parametreler
t
[in] Bölen. Bu, türünde Tolmalıdır.
u
[in] Kar payı. Bu, türünde Uolmalıdır.
sonuç
[out] Sonucu depoladığı SafeModulus parametre.
Dönüş Değeri
true hata oluşmazsa; false hata oluşursa.
SafeMultiply
Taşmalara karşı koruma sağlayan bir şekilde iki sayıyı bir araya toplar.
template<typename T, typename U>
inline bool SafeMultiply (
T t,
U u,
T& result
) throw ();
Parametreler
t
[in] Çarpmak için ilk sayı. Bu, türünde Tolmalıdır.
u
[in] Çarpmak için ikinci sayı. Bu, türünde Uolmalıdır.
sonuç
[out] Sonucu depoladığı SafeMultiply parametre.
Dönüş Değeri
true hata oluşmazsa; false hata oluşursa.
SafeNotEquals
İki sayının eşit olup olmadığını belirler.
template<typename T, typename U>
inline bool SafeNotEquals (
const T t,
const U u
) throw ();
Parametreler
t
[in] Karşılaştıracak ilk sayı. Bu, türünde Tolmalıdır.
u
[in] Karşılaştıracak ikinci sayı. Bu, türünde Uolmalıdır.
Dönüş Değeri
truet ve u eşit değilse; değilse false.
Açıklamalar
yöntemi, iki farklı sayı türünü karşılaştırmanıza olanak sağladığından iyileştirir != SafeNotEquals .
SafeSubtract
Taşmalara karşı koruma sağlayan bir şekilde iki sayıyı çıkarır.
template<typename T, typename U>
inline bool SafeSubtract (
T t,
U u,
T& result
) throw ();
Parametreler
t
[in] Çıkarmadaki ilk sayı. Bu, türünde Tolmalıdır.
u
[in] T'den çıkarılası sayıdır. Bu, türünde Uolmalıdır.
sonuç
[out] Sonucu depoladığı SafeSubtract parametre.
Dönüş Değeri
true hata oluşmazsa; false hata oluşursa.