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).

use Devel::Size qw(total_size);
my $n = total_size $t;
N : Integer := (T'Size + 7) / 8;
n = sizeof (t);
#include <cstddef>
std::size_t n = sizeof(t);
using System.Runtime.InteropServices;
int n = Marshal.SizeOf(t);
int n;
unsafe
{
    n = sizeof(T);
}
int 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()
String className = t.getClass().getSimpleName();
int n = 0;
if (className.equals("Byte")) {
	n = 1;
} else if (className.equals("Short")) {
	n = 2;
} else if (className.equals("Integer")) {
	n = 4;
} else if (className.equals("Long")) {
	n = 8;
} else if (className.equals("Float")) {
	n = 4;
} else if (className.equals("Double")) {
	n = 8;
} else if (className.equals("Boolean")) {
	n = 0;
} else if (className.equals("Character")) {
	n = 2;
}
n := SizeOf(T);
import pympler.asizeof
n = pympler.asizeof.asizeof(t)
require 'objspace'
n = ObjectSpace.memsize_of(t)
let n = ::std::mem::size_of::<T>();

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