Logo

Programming-Idioms

This language bar is your friend. Select your favorite languages!

Idiom #109 Number of bytes of a type

Set n to the number of bytes of a variable t (of type T).

let n = std::mem::size_of::<T>();
N : Integer := (T'Size + 7) / 8;
n = sizeof (t);
template <typename T>
auto f(T x) { return sizeof x; }
#include <cstddef>
std::size_t n = sizeof(t);
using System.Runtime.InteropServices;
int n = Marshal.SizeOf(t);
int n = sizeof(T);
int n;
unsafe
{
    n = sizeof(T);
}
auto n = T.sizeof;
use iso_c_binding
n = c_sizeof(i)
import "reflect"
var t T
tType := reflect.TypeOf(t)
n := tType.Size()
<T> int bytes(T x) {
    return switch (x) {
        case Boolean b1 -> 1;
        case Byte b2 -> Byte.BYTES;
        case Short s -> Short.BYTES;
        case Character c -> Character.BYTES;
        case Integer i -> Integer.BYTES;
        case Float f -> Float.BYTES;
        case Long l -> Long.BYTES;
        case Double d -> Double.BYTES;
        case String s -> s.getBytes().length;
        default -> -1;
    };
}
int n = bytes(t);
n := SizeOf(T);
use Devel::Size qw(total_size);
my $n = total_size $t;
n = getsizeof(t)
import pympler.asizeof
n = pympler.asizeof.asizeof(t)
require 'objspace'
n = ObjectSpace.memsize_of(t)

New implementation...
< >
programming-idioms.org