this post was submitted on 03 Aug 2023
669 points (96.1% liked)

Programmer Humor

31250 readers
904 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 4 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] Zagorath@aussie.zone 32 points 11 months ago (5 children)

Most languages support concatenation of strings using the + operator. The only mainstream languages I can think of that don't are PHP (which uses ".") and low-level languages like C & C++.

[–] VanillaGorilla@kbin.social 24 points 11 months ago

JavaScript might even concatenate some integers instead of adding them just for shits and giggles.

[–] Eiim@lemmy.blahaj.zone 12 points 11 months ago

R uses paste0() for some reason

[–] azvasKvklenko@sh.itjust.works 8 points 11 months ago
[–] rikudou@lemmings.world 8 points 11 months ago (1 children)

C++ does as well, doesn't it? Though I don't often use std::string, so I'm not sure. But every other string type I worked with had + overloaded.

[–] Zagorath@aussie.zone 2 points 11 months ago

I dunno, I've never actually worked in C++, but I tried it out online and it didn't seem to work.

[–] meteorswarm@beehaw.org 4 points 11 months ago (3 children)
[–] vanZuider@feddit.de 3 points 11 months ago

Using the C++ standard library beyond the C backwards compatible parts? What devilry is this‽

[–] Zagorath@aussie.zone 2 points 11 months ago* (last edited 11 months ago) (1 children)

I ran

#include 
#include 

int main()
{
  std::string name;
  std::cout << "you"+"me";
}

Using cpp.sh, and got the following error:

main.cpp:7:21: error: invalid operands to binary expression ('const char[4]' and 'const char[3]')
  std::cout << "you"+"me";
               ~~~~~^~~~~
1 error generated.

edit: lemmy seems to be determined to convert my less than characters to their HTML entity codes, but the error is meant to point to the "+" sign.

[–] meteorswarm@beehaw.org 1 points 10 months ago

This is because your operands are const char[]. That's not a std::string.

[–] LeFrog@discuss.tchncs.de 1 points 11 months ago

I think your link has a double encoded % at the end: %25

The correct link is https://en.cppreference.com/w/cpp/string/basic_string/operator2B