[Boards: 3 / a / aco / adv / an / asp / b / biz / c / cgl / ck / cm / co / d / diy / e / fa / fit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mu / n / news / o / out / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / t / tg / toy / trash / trv / tv / u / v / vg / vip /vp / vr / w / wg / wsg / wsr / x / y ] [Search | Home]
4Archive logo
So, how does /g/ declare pointers?
If images are not shown try to refresh the page. If you like this website, please disable any AdBlock software!

You are currently reading a thread in /g/ - Technology

Thread replies: 222
Thread images: 19
File: 1.png (13 KB, 844x1074) Image search: [iqdb] [SauceNao] [Google]
1.png
13 KB, 844x1074
So, how does /g/ declare pointers?
>>
I don't.
>>
>>52554468
How is the bottom pleb? Pleb means commoner tier.

Noone does that.

I prefer the top
>>
Mid
>>
>>52554468
int* p is the correct one.
>>
int* p is the master race
>>
>>52554468
Middle is the best. It's a pointer to an int. Better keep that shit together, int*.
>>
>>52554504
>>
>>52554468
void *ptr;
is the only correct way.
>>
i use pleb tier
>>
>>52554468
The amount of bike shedding in this board is actually disgusting.

Top tier, obviously.
>>
>>52554504
>>52554505
>>52554512
int* ptr1, ptr2;

:^)
>>
>>52554468
like this
#define NIGGER *
int NIGGER p;
>>
>>52554514
kek
>>
int *p; is the correct one.

int* a,b,c; create a single pointer and two ints. The star is not part of the type.

int *a,*b,*c; The star unambiguously says all three are pointers.
>>
>>52554504
>>52554505
having fun declaring multiple variables in the same line
>>
Top is the best the variable is the pointer, not the type.
>>
>>52554495
>>52554504
>>52554505
>>52554512

check
>>52554525
>>52554538
>>
>>52554538
>A smart person on /g/
Well, I'm shocked.
>>
>>52554525
>>52554538
>>52554540
That's gross, you declare variables on the same line? I bet you wash your hands while shitting just to save time, too.
>>
>>52554508
This. The type is literally pointer to int

>>52554538
Everybody knows that, idiot. We just don't declare multiple vars on the same line, that's ugly practice
>>
>>52554716
Then by your logic, arrays should be declared as
int[10] arr;
>>
>>52554792
They are in better languages.
>>
>>52554836
name one that's better that has that kind of array declaration
>>
>>52554846
C#
i await your >better
>>
File: no.png (579 B, 92x17) Image search: [iqdb] [SauceNao] [Google]
no.png
579 B, 92x17
>>52554855
>>
>>52554877
My mistake.
D
I await your >better
>>
>>52554855
>Java 2.0
>better
>>
Obviously int* x makes sense because it speaks to the datatype and should not be in the name.
Fuck, I have autism.
>>
>>52554468
Like this:
P : access Integer;
>>
>>52555049
You haven't been using pointers enough
int* x, y;
>>
>>52555358
Are you retarded? Why would you need to declare two variables on the same line?
>>
>>52555358
Nah, he's just subconsciously recognising that the C standard is doing it wrong. Again.
>>
>>52554468
Top is literally the only correct way.
>>
>>52554525
>>
>>52554525
int* ptr1;
int* ptr2;

:^)
>>
>>52554470
>>
int <- Penis ->
>>
>>52555555
witnessed
>>
>>52555555
sextuplets of truth
>>
#define fucking *

int fucking p;
>>
>using pointers
Is everyone here a fucking freshman or something?
>>
>>52555566
>>52555570
didn't know I clicked on /b/.
>>
People who write int *p probably come from C and read it as "p is a pointer to an int". People who write int* p probably come from C++ and read it as "p is of type int*". Both are correct.

As for me, what I write depends on the context. I strive for clarity.
 int* (*funcptr)( void*, int* ); 

 void * func( char *arg1, void *arg2 ) ... 
>>
>>52554538
I'm genuinely curious about brogramming but I'm illiterate.

Is the star declaring only a as a pointer for the second scenario?

What about int *a,b,c
Wouldn't this be the same thing as the star is attached to variable a?
Like I said, I'm illiterate but I'd like to know at least basic syntax
>>
>>52554468
>immutable pointers to immutable data
int const * const p;
>immutable pointers to mutable data
int * const p;
>mutable pointers to immutable data
int const *p;
>mutable pointers to mutable data
int *p;
>>
>>52554468
>programming in C
>>
>>52554468
top.... people honestly write it like mid? Who the hell are these people?
>>
>>52556216
being a dumb pleb
>>
>>52554468
Usually top, because I used to it. But mostly I put everything related to type to the left, so variable name doesn't have any shit around.
>>
>>52556175
>immutable immutability of immutable-ness of a pointer's immutabilitude
const * const const p const; const
>>
File: 1401036562718.jpg (25 KB, 301x267) Image search: [iqdb] [SauceNao] [Google]
1401036562718.jpg
25 KB, 301x267
>>52555555
>>
>>52554468
let p: &i32;
>>
>>52556767
disgusting
>>
>>52554525
It's still confusing no matter which way you do it.
Solution: don't do it.
I don't think using "T *x;" (which I find really annoying and confusing) is worth it for the sole reason of "if i declare a bunch of pointers on one line it's more confusing than it already is!"
Besides, if you're using C++ you should be using 'auto' the majority of the time, and not declaring variables without initializing them.
>>
What are pointers and used for again?

To me it looks looks like you are trying to multiply interger p
>>
>>52555555
o shit mane
>>
>>52554468
// of course, everyone does this
int i;
float f;
double d;
// and everyone does this
long int L;
short int S;
unsigned long int UL;
// therefore, because p is a pointer to an int
int * p;
double * dp;
unsigned long int * ulip;
>>
>>52557121
#define pointer *
int pointer i;
double pointer dp;
unsigned long int pointer ulip;
>>
>>52557121
...I gotta admit, you kinda sold me on that one
>>
>>52557121
// but then, why would anyone use a raw pointer at all??
auto s = std::make_shared<some_type>(constructor, parameters, here);
auto u = std::make_unique<some_type>(constructor, parameters, here);
auto
>>
>>52557149
sure, why not?
>>
>>52557164
>C++
>>
>>52557149
yeah sure, then the other guy on the project starts dereferencing and multiplying by writing out 'pointer' everywhere
>>
>>52557177
>still clinging to C for no other reason than to try and claim hipster-cool-points by being a fan of "the original and therefore best"

C++11 is superior in every way to C. Every single way. No really. There's literally nothing C has that C++ doesn't have. But C++ has things that actually improve safety, legibility, speed, and the ability to get shit done.
>>
>>52557188
// WHO DID THIS?!
if (2 pointer 2 == X) {
cout << "..." << endl;
}
>>
>>52557188
do you even understand how pointers work?
>>
>>52557204
see >>52557203
>>
>>52557198
for as long as I've worked on embedded systems, I've never once had to use C++ over C. Who needs all that OOP bloat
>>
>>52557198
>There's literally nothing C has that C++ doesn't have.

restrict, VLAs, designated intializers, compound literals
>>
>>52557204
w-what?
>>
>>52557203
#define times *
>>
>>52557198
>C++ .. improve[s] legibility, speed
>>
P : access Integer;
>>
>>52554846
Verilog
>>
>>52554468
int*p
>>
Pointer is part of the type, so that's where the asterisk goes.
>>
>>52554877
You're supposed to write int[] t = new int[10];
>>
>>52557309

>>52554538
>>
>>52557198
That's like saying your mother is superior to a pretty woman in every way because your mother has everything a pretty woman as and then some. A few hundred pounds worth of "some".
>>
>>52557309
No, the pointer-ness is an attribute of the variable.

There is no pointer to an int type, there is an int type, and there are variables that can be declared as pointers.
>>
>>52557309
>Pointer is part of the type
actually it isn't
int* a, b

in this, b isn't a pointer
>>
>>52554468
The first way is the only right way
>>
>>52557359
If it behaves completely differently, it's a different type. Even if the language is retarded with one line declarations.
>>
>>52554468
std::unique_ptr<int> p;
std::shared_ptr<int> p;
std::weak_ptr<int> p;
>>
File: 1382838092651.jpg (170 KB, 1000x1562) Image search: [iqdb] [SauceNao] [Google]
1382838092651.jpg
170 KB, 1000x1562
>>52557394
>>
>>52557394
This is your brain on OOP.
>>
>>52557406
>C++
>>
>>52557433
Name one userspace C library that is not a complete mess.
>>
>>52557447
FUSE speaking from memory.

But I'm guessing you're just retarded?
>>52557406 has nothing to do with "userspace library", whatever the fuck that's supposed to mean.
>>
>>52555627
>being inconsistent
>being correct
thats even worse than pleb tier, end yourself
>>
>>52557447
OpenSSL
>>
>>52557406
>C++
I'll let you get away with this if you can tell me what this code means
x * y(z);
>>
>>52557394
are you actually retarded
>>
>>52557497
y is either a function or an object with operator() defined, z is some object.
Then the result gets "multiplied" with x however operator* is defined for the two types.
>>
>>52557492
>literally C with classes
What's the fucking point? I will never get it.
>>
>>52554468
>type casting your variable..
>>
>>52557526
wrong!
struct x { x(int) {} } *z;
x * y(z);
>>
>>52557954
OK, so this is a function declaration. You do realize that your code is valid C? Why is this a C++ problem?
>>
>>52557978
Shit, I fucked up, it can't be a function declaration. It's a variable definition.
>>
Bottom
Top doesn't declare multiple on the same line and I'd read middle as "int pointerp"
>>
>>52557978
That code is not valid C.
>>
>>52558050
I realize now. Is this supposed to be an argument against C++? It's not like C doesn't have pitfalls.
>>
the middle one
>>
>>52558072
C is more compact. If you cleaned up the grammar and standard library a bit you would have a language that you could say unironically is a very good "portable assembly" language.
>>
>>52558322
>C ... unironically is a very good ... language
The brain damage is real.
>>
I don't write C but I'd probably use the first

p is the pointer, therefore the star has to be next to it.
>>
>>52555555
Holy fucking shit
>>
int *p declares an integer named *p. You can use it as an integer.
>>
>>52554538
This pretty much ends the debate
>>
File: 1448152469389.gif (2 MB, 500x335) Image search: [iqdb] [SauceNao] [Google]
1448152469389.gif
2 MB, 500x335
>using int instead of int32_t

what is this, 1990? fucking git good

https://matt.sh/howto-c
>>
>>52558912
>int32_t
>not int_least32_t
>not int_fast32_t
really?
>>
>>52554538
Thread should've ended here.
>>
>>52554468
got 107 of you

>computer scientists: concerned with type systems, side effects, paradigms, etc

>programmers: concerned with available library bindings, performance, and platform support

>bosses of programmers: concerned with the language being object oriented in a way that keeps their hordes of inexperienced employees from stepping on each other's toes too much

>/g/: concerned with aesthetic issues like brackets and indentation styles


Bikeshedding is the proper word for it. /g/ mainly talks about brackets, syntax, and identation styles because it's non complex and everyone can contribute a opinion and be semi valid.

Any real issues will cause too much risk of being pointed out as incorrect or stupid if they're wrong / mistaken.
>>
>>52555555
Ayy
>>
>>52558912
Retarded.

https://github.com/Keith-S-Thompson/how-to-c-response
>>
>>52555555
IMB4 SHITSTORM
>>
>>52554716
no it isnt a type itself, C doesnt have pointer types; int *var says that it will be a int when the * operator is used on it
>>
>>52558956
>int_least32_t
>int_fast32_t
It's like you hate predictable struct member alignment or something.
>>
>>52554468
#define muh *
Char muh nigga = "deez nuts"
>>
>>52558974
Readability is important, faggot. Standard, good coding style stops stupid bullshit like the goto fail goto fail fail.
>>
>>52558912
> not using DWORD
>>
>>52560490
Compiler Error
>>
>>52560530
>WinAPI
More like FailAPI
>>
>>52560461
>C doesnt have pointer types

>6.2.5 Types
A pointer type may be derived from a function type, an object type, or an incomplete type, called the referenced type. A pointer type describes an object whose value provides a reference to an entity of the referenced type. A pointer type derived from
the referenced type T is sometimes called ‘‘pointer to T’’. The construction of a pointer type from a referenced type is called ‘‘pointer type derivation’’.



http://www.open-std.org/JTC1/sc22/wg14/www/docs/n1256.pdf
>>
>>52560461
But the variable itself needs to have a type, and that type is not int
>>
>>52560535
>he doesn't use a mobile phone autocorrect-interpreter
>>
>>52560603
>he doesn't have an autism filter for lurking this nepalese cave painting forum
>>
>>52555367
>Why would you need to declare two variables on the same line
Hello Prajeet
>>
File: hur.jpg (67 KB, 540x960) Image search: [iqdb] [SauceNao] [Google]
hur.jpg
67 KB, 540x960
>>52557121
>long int
>short int

When the fuck would a long or short not be an int?
Do you have long floats and short doubles too?
>>
>>52561000
There are actually long doubles. Learn your C.

Now check my long doubles.
>>
>>52555555
Luckiest man on earth. But a lottery, quick.
>>
>>52561027
As in, when would "short" or "long" with no other type following, not be long int or short int?
There is no reason to be so verbose.
>>
Mid
>>
>>52557121
why is this allowed?
Why isn't the bit length in the declaration instead of using silly names like long and short.
uint32_t is a lot more meaningful (although we could remove the _t and be good enough)
>>
>>52562326
Because more often than not, you just want to use whatever type is most convenient on a particular architecture.
Int is always guaranteed to be at least 16-bit.

If you really need to use particular fixed-width types then by all means, use them. That's what they're for.

But using uint32_t for every fucking for loop counter is just asinine.
>>
>>52554525
desu that's the language fault, it makes no sense

>>52562390
>But using uint32_t for every fucking for loop counter is just asinine.

truly the pinnacle of optimization execept when you realize it might have to split up the word or offset some shit to reach the variable
>>
>>52562460
Or if that implementation has 64-bit ints (native word size) and you've just flushed the optimisation down the shitter.
>>
> 2020 - 4
> Still using a language that uses pointers

Way to get cucked by the C-jew.
>>
>>52562638
>2016
>Still using GCed languages with random pauses which cripple your throughput

Oracle/MS cucks pls
>>
>>52555555
HIGH FIVE BRO
>>
>>52562745
>MS cucks
The implication that C# doesn't have pointers?

It does though. Both regular references and raw pointers.
>>
>>52554538
Why isn't the star part of the type though? Can't it be thought of that p is of type "pointer to int" therefore the middle one makes me sense?
>>
>>52555555
ironically, you just did
>>
>>52555555
>>
>>52562766
>C# has pointers now
My god, soon it will be as shit as C++.
>>
>>52554470

Gangster as fuck.
>>
#include <stdint.h>
uintptr_t * p;
>>
>>52554468
top because when you do
int* a, b;
b is not a pointer, so its dumb as fuck to write it any other way but int *a, *b;
>>
>>52554468

To clarify:

Top tier:
int *p
>K&R and Linux Kernel

Designated tier:
int* p
>Pajeet who is used to Java and/or C#

Look I'm programming! tier
int * p

>kids who are just starting C and think moar spaces = readibility.
>>
>>52555367
this is bad design, due to confusment it brings, if it was declared that it must be infront of name, none of this shit would happen
>>
>>52562766
>C is bad because it has pointers
>No, C# is worse because it has GC
>JOKES ON YOU, C# HAS POINTERS TOO

Are you legally blind?
>>
>>52557262
if you think speed thing is not real, you dont know how to write real code kido, optimizations in c++ are insane if you know compiler implementations you can pull out double the speed than c in some algorithms
>>
>>52562911
>when you do
>int* a, b;
well, just don't. it's retarded babby behavior to cram too much shit into one line. go unread your "this is what the 1337 C programmers do" textbook
>>
>>52554468
I don't place the asterisk anywhere consistently.
>>
>>52562971
Writing performant code in C++ means basically limiting yourself to whatever is available in C.
>>
>>52562819
>char* tmp = "Hello, world!";

tmp is of type pointer, and you are DIRECTLY assigning a string literal into it?
Think about what you are saying.
>>
>>52562971
at the cost of more memory...
>>
>>52562974
>12 character lines are crammed

Even java monkeys aren't this stupid.

If a and b perform similar roles or are linked in some way, it makes perfect sense to declare them on the same line.
>>
>>52563041
>it makes perfect sense to declare them on the same line
declaring things on the same line adds another, hidden declaration: you're retarded
>>
>>52563093
How is it hidden, are you unable to read?

In fact, for long-named types or classes it's actually even more to your benefit to declare multiple (related) variables/objects on the same line.
D R Y
R
Y
>>
What is the type of p?
The type of p is
int*

You say the type of p is
int *

It makes no sense.
>>
>2015+1
>still uses pointers

I just don't get it. If I wanted access to variable, I just use reference.

Also I've seen shit like
int*******p


What the fuck is the point of this?
>>
>>52563176
IF you skim through the lines containing declarations, you will miss the declarations that are crammed on the same line for no good reason.
>>
>>52554468
/* leak all the memeory */
int **p = (int **) malloc(sizeof(int *) * INT_MAX);


How does this make you feel, /g/?
>>
>>52563276
So what you're saying is that if you don't read something properly, you'll miss important details?

Wonderful insight.
>>
>>52563285
>Allocated memory is automatically leaked
Also why INT_MAX?
>>
>>52563227
One possible use case is a 7-dimensional array.
Or a grid with 7 columns.
>>
>>52563373
non-allocated ram is wasted ram
your program should have full access to all the memory on your machine at all times
>>
Rate my bubblesort.
void bubblesort(unsigned *arr, unsigned size)
{
while (!is_sorted(arr, size))
{
unsigned i;
for (i = 0; i < size - 1; i++)
{
int state = compare(arr[i], arr[i+1]);
if (state > 0)
swap(arr+i, arr+i+1);
else
continue;
}
}
}
>>
>>52563745
8/8
>>
>>52563285
woudln't it not work because you are allocating more ram than what you actually have?
>>
>>52554538
>The star is not part of the type
>an integer and a pointer to an integer are the same type
K&R literally says the exact opposite
>>
>>52563883
you can allocate the entire 64-bit vmem space but you can only *use* the amount you have
>>
>>52563899
thanks, didn't know
>>
>>52557478

You're forgetting the big picture.
Clarity > consistency
>>
>>52562866

It's had pointers since it's release. Haven't you heard of unsafe?
>>
>>52554538
this is the correct way to declare multiple pointers in a single statement.
>>
>>52554538
typdedef int* int_p;
int_p a, b, c;


Solved your problem.
>>
>>52564222
why would you bother putting so much effort into that?
>>
>>52563939
What's clear for you isn't necessarily clear for everyone else.

You can't talk about the bigger picture whilst only going with your own preferences.
>>
File: tssssssh.jpg (29 KB, 400x400) Image search: [iqdb] [SauceNao] [Google]
tssssssh.jpg
29 KB, 400x400
>>52564222
That is literally the same as:
>int* a, b, c;

or

>int *a, b, c;

You have changed nothing.
>>
>>52555555

> int *GET;
>>
File: Oh Shit I'm Sorry.gif (789 KB, 320x214) Image search: [iqdb] [SauceNao] [Google]
Oh Shit I'm Sorry.gif
789 KB, 320x214
>>52555555
>>
>>52556470
>>
>>52554468
int* p is godtier.
>>
>>52565582
for the last time

>>52554525
>>52554538
>>52555358
>>
>>52554468
It should be:

aux = topTier
topTier = midTier
midTier = aux

It's a vector not a int you fucking faggot
>>
>>52554525

>multiple declarations in the same statement

worse than hitler
>>
>>52563002

Well, no, aren't you creating a variable of type "pointer to char" then pointing it to (giving it the address of) the string? I don't know what your point is. Let me ask you this: what would you say the type of tmp is in your code?
>>
>>52566390
The point is it should be:
>char *tmp = "Hello, world!";

tmp is a char pointer.
*tmp is a dereferenced char pointer, so it is the char value.
The string literal is being assigned to the address pointed to by tmp.
>>
>>52566281
Are you implying Hitler did nothing wrong? :^)
>>
>>52555555
sextuplets of ineptitude
>>
int* blah

because blah is the type of a pointer to an integer
fucking plebians.
>>
>protip: people who have careers/jobs don't give a flying fuck about shit like this
You might just as well post pictures of yourself in your underwear fapping to chinese cartoons surrounded by figurines of said chinese cartoons' characters.
>>
File: Smashing.jpg (51 KB, 479x350) Image search: [iqdb] [SauceNao] [Google]
Smashing.jpg
51 KB, 479x350
>>52555555
>>
>>52554525
this actually declares an int* ptr1, and an int ptr2

i shouldnt have had to clarify that
>>
>>52566859
>he thinks pointers to integers are different to any other pointer
>>
>>52566859
>How to spot somebody who first learned java, then learned C
>>
>>52566939
As somebody who is stuck in a software engineering career I can immediately sift out who the curry-intern is when I see `int* p;`
>>
>>52564469

>I don't know what typedefs are
>I'm a faggot please rape my face!
>>
>>52567055
Shitposting from your momma's basement doesn't count as a career in SE.
>>
>>52564349
>one line of code

Ooh, so much effort.
>>
>>52567079
it's pretty obvious how jealous you are that I'm making fistfulls of cash while posting on your anime boards.
>>
>>52566859
>the entire linux kernel was written by plebians
>>
>>52567102
Yes. It's surely the NEET that should open with a line like
>protip: people who have careers/jobs don't give a flying fuck about shit like this
Not certainly someone with a career. Oh and that's fistfuls, not fistulls, of cash.
>>
>>52567147
Yeah the NEET would give "protips" to try to seem like he's a somebody that mattered to a bunch of strangers on the internet.
A NEET would also be the kind of person who tries so desperately to find something to attack that he zeros in on a typo lmao

grow up chump
>>
>>52567179
>a thread about feeling superior based on pointer declaration styles
>gets anally anguished about someone correcting their typos
Whatever you say, champ.
>>
>>52567067
Excuse me for not being well versed in semantic-breaking hacks.

I'm surprised that even works tbqh.
>>
>>52567244
>stretching things to such an extent since he has no valid points
it's gonna be ok, sport.
>>
>>52566939
https://google.github.io/styleguide/cppguide.html#Pointer_and_Reference_Expressions

None of the people at Google actually have careers or jobs though.
>>
File: 0906esdSuL02.gif (22 KB, 562x846) Image search: [iqdb] [SauceNao] [Google]
0906esdSuL02.gif
22 KB, 562x846
>>52567268
>>52567244
>>52567147
>>52567102

SHUT UP AND POST POINTERS.
>>
File: 1.jpg (28 KB, 284x322) Image search: [iqdb] [SauceNao] [Google]
1.jpg
28 KB, 284x322
>>52561000
>short doubles
>>
I don't really understand pointers.
>>
>>52554468
I'd declare them int* p if C++ had a sane type system. Alas, it doesn't.
>>
File: 1452982042333.jpg (107 KB, 1040x1055) Image search: [iqdb] [SauceNao] [Google]
1452982042333.jpg
107 KB, 1040x1055
>>52555555
>>
File: .jpg (72 KB, 400x387) Image search: [iqdb] [SauceNao] [Google]
.jpg
72 KB, 400x387
>>52554468
shared_ptr<int> p
>>
>>52566778
He didnt thought
>>
Top tier obv
>>
>>52568081
I know that and you know that.
>>
>>52567084
more like several lines of code unless you only want pointers to ints
>>
>>52556115
In that case you would write:
int *a, b, c; // its pretty obvious that a is the only pointer here
Of course, you likely never want to define a single pointer and 2 integers, the point is that if you associate it as being the type ("pointer to an int"), then maybe you'd forget that in C its actually attached to the variable.
Thread replies: 222
Thread images: 19
Thread DB ID: 475130



[Boards: 3 / a / aco / adv / an / asp / b / biz / c / cgl / ck / cm / co / d / diy / e / fa / fit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mu / n / news / o / out / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / t / tg / toy / trash / trv / tv / u / v / vg / vip /vp / vr / w / wg / wsg / wsr / x / y] [Search | Home]

[Boards: 3 / a / aco / adv / an / asp / b / biz / c / cgl / ck / cm / co / d / diy / e / fa / fit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mu / n / news / o / out / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / t / tg / toy / trash / trv / tv / u / v / vg / vip /vp / vr / w / wg / wsg / wsr / x / y] [Search | Home]

All trademarks and copyrights on this page are owned by their respective parties. Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.
This is a 4chan archive - all of the shown content originated from that site. This means that 4Archive shows their content, archived. If you need information for a Poster - contact them.
If a post contains personal/copyrighted/illegal content, then use the post's [Report] link! If a post is not removed within 24h contact me at [email protected] with the post's information.