「Char」を含む日記 RSS

はてなキーワード: Charとは

2020-11-18

そんなレベル大丈夫か?

登場してから、その効率の良さで永らく使われてきたものの、同時に様々なセキュリティホールを生み出した結果、

今や「可能な限り使わないことがベストプラクティス」と言われているC/C++言語

実際、PythonGo言語などで書けそうなら、絶対そっちで書くべきだと心底思う。

(ただしVBテメーは絶対ダメだ)

以下のような、ド素人しか思えない実装によるやらかしを見てきたこともあって、その思いは一層強くなった。


いわゆる下手のC/C++あるあるで、もう本当にうんざりするほど見かけるのが、

char型の巨大な配列グローバル宣言し、それを使い回す」

という、色んな意味頭痛がしてくる実装

それ、今どきのWindowsとかでやられると、ビルドないし実行したタイミングウィルス対策ソフト誤検知したりするんだわー。

しろ人によってはint型の最大数を要素数として配列作るとか、無茶しやがって…みたいな事するんだから無理もない。

てかさー、それポインタを全く活用できてねーじゃん。

必要とき必要な分だけ領域確保して、ポインタで適切に参照させるとか、基本中の基本じゃねーの?

誰でも初心者の時期があるのは仕方ないが、お前初心者レベルのまま何年コード書いてんだ?いい加減にしろマジで


そうやって書いてしまったものリファクタリングするのも、他の安全言語移植するのも諦めて、今日誤検知させる奴がいる。

そもそも本来コンピュータのことを詳しく知っている専門家が使うことを前提とした言語が、こうも広まってしまたことが歴史の過ちだったのかも。

2020-09-17

anond:20200917101039

8Way xeonが ハイエンドで 256スレッド 同時実行を超えて 512スレッド同時実行に到達する

というのがchar を超えてshort intになるということで、どれだけいま大変かというのを空想リプといわれると

いや まぁ、今発売はされていないが

2Way xeonで 64スレッドて 2年前に発売されていて 今年のダイまり11世代だと という話で 今無理なんだっていう

よなか、トイレにおきちゃって なんかぼけてる。

IntelのコアがXeonMPとかも含めると 1pc当たり 複数CPUで 1リナックス当たり 256コア512スレッド とかが起き得るから

メモリ節約のために スレッドIDchar管理すると 足りなくなるよ という技術者ネタをShortでたのむ というのを

側側でみたいな、寝ぼけてんな。

2020-09-06

char buf[1024];int i=0

;

for

(

int

i

;

i!

==

NULL

;

i--

)printf("intel windows first\n");

2020-08-27

anond:20200827105817

AVXの登場で256組のCharを1回で比較できる時代なので、少々議論が紛糾している。

2020-08-15

anond:20200815093502

へたをすると

char *a = new char[1024*1024];

for (auto b:a) if(b) throw b;

ながいねんがCatchする勢い

2020-08-01

ここのchar *をshort *にしてくれるだけでいいか

2020-07-26

anond:20200726152231

ちなみにintっていうのは 内耳的に char short longなどのなかから 速度などをかんがみて 最適なながさにせよ

2020-07-05

C++C++ C++インタプリタ

int moin(int argc.char*argv[]){

  std::cout<<"Hello world\n"<<std::flush;

  __asm__("mov ax,0");

}

2020-06-10

anond:20200610060955

たすけてね☆ このままだと ころされちゃう あいてにそんなつもりがなくても

あいてがやることは はなしかけるだけ ただし 不用意なタイミングで 何年も

それだけで 殺せるかの 実験でも しているんだろう

そんなものをうけたつもりはないし 顔合わせもしていない

また、そういう事故とまちがえられないよう 最近AKBイベントなども すべて自粛しているこ

相談する でも 相手を殺せるから

困りぬいた人に

溺れるものはわらをもつかむ で 殺されかけたことがある

こっちが 入院になった

そういうことしかない

から、助けももとめにくいけど

国に助けてもらいたい だれもいないから 天涯孤独 それもだめなら どこがいいか

周囲の人から理由特にないけど なぜか いじめられることはおおい

めんどくさい

っておもしろ

いままで、誰かの準備を食ってきたからかんたんだったんじゃない?

よく食われるからそうおもう

くうこと(きがつかずにもらっちゃう)もあるけどね

からない

どうしたらいいか

いまのたんとうが過去の中ではけっこういい

はなしかけられる ということがどれだけ苦痛を伴うかは だいぶまえから知ってる

がいきちの話を聞くのは苦痛だろう

それがわかるから、なるべくしないようにしている

でも限界なんだ

ここにひたすらかいていると すこしだけおちつく。

コロナからこっちは

基本書き込んでいる間はプログラムを組んでいることが大多数

つのアルゴリズムでもいろいろ書き方があるから

きぬき 10分かそこらやすんで

またさぎょう。

ずっといえだから、気がつくと寝ている。

あさおきると作業再開

ひたすら作業

AKB コロナ

みーんななくなっちゃうね

あそぶまえに とられて おわる まぁ コロナしょうがないけど

自粛 しているあいだにおわるかな どうしたらいいんだろう

AKBのお父さんの世代なんだなぁとおもって

としくったなぁとおもった

調子に乗るな!って

ヒット作もない

簡単にクビになる

いらねー人材

そんなもん、じぶんが、いちばんよくしってる

調子に乗れるようなものなどなにもない

いっしょけんめいがんばって

ねたみ そねみ 誹謗中傷はやまもど

ちょうしになどのれない

いじめられこそすれ いいことなどないのは自分が一番良く知っている。

くつなめましょうか?

 

それこそ、けぶべん血尿 大怪我 入院

反吐は吐いてないけど

苦労して、苦労して つくってる

自分の実力が ねーから くずやろう といわれることはあるし

そうだろうなとおもう

調子に乗ることなど無い

 

こんな恨みこそあれ みたいな状況で どうやったら 調子に乗れるのか というのと

あいての言い分を聞いて それこそ おれが 死んでりゃよかったんだろうなと思った

せめても がんばったか

がんばったといっただけだけど

ちょうしにのるな というのなら のらないし 乗る理由など無い

タバコ

あるいみ労災だよな なきゃ 仕事できない自分が悪いけど

まりにもAKB

イラッとしたかAKBCDでも買って送りつけてやりたい もちろん持ってるやつを

https://online.d-school.co/

https://codecamp.jp/

http://paiza.io/

http://techacademy.jp/

https://tech-camp.in/

ハローワーク

あとでいく

Hello world

#include <iostream>
#include <stdio.h>

int main(int argc,char *argv[]){
    for(int i=0;i<3;++i){
        int j = i;
        printf("Hello world%d\r\n",j);
    }
    for(int i=0;i<0;++i){
        printf("Hello again\r\n");
    }
    return 0;
};

むかしっから あたまは わるかった

もうすこし、大学進学率がちがったら 高卒だっただろう

それで十分だった

 

300万ポッチもない 男性 あほでしょ

がんばったんだ。貯金500万

あっというまに、なくなっちゃった。

 

もう戻らない僕の幸せ

小学校ぐらいか

呪われていて

親が転校してくれたけど

だめだった ばかだったんだ

 

がんばっても だめなら

それはそれでいい

かかわっちゃだめなら もっとはやくにちゃんとおしえてね

2020-05-07

anond:20200507201904

まり同じ

char *p= new char[1023]

というコードでも

if(*p)というコードの結果が異なることがある。

2020-04-22

operator new (int t){

return local_malloc(t);

}

operator new (int t){

return local_malloc(t+64);

}

char *(*)(int t) f (n){

switch (t){

case 0:

return &func::new(int);

case 1:

default:

return &func2::new(int);

}

}

class *t;

t=f(1)(sizeof(*t));

2020-03-20

anond:20200320104602

className *Param = NULL;

int main(int argc,const char *argv)

{

Param = new className();

return 0:

}

 

こういうコードのほうが実は合理的

というか、より簡単にかけるように言語を工夫してるんだから

難しく書いている方が間違い 理屈ちゃんとある

この場合プログラム内部にはかかれておらずカーネル側が処理してくれるから しらないとわからねいけど

カーネルの動きを知ってる場合メモリリークではなく こうしたほうがよいとちゃんとわかる

2019-12-01

anond:20191201133832

まりC言語でのソース上の文字列(例"AIUEO")は「新たなメモリ領域char* として宣言されたデータ」なのでそれを代入しても上書きすることにはならない、ってことなわけですね…

strcpyとかみたいに専用の関数作るかしてアドレスを一個ずつ舐めて入れたい値を挿入する(えっちですね)しか方法がないってことなんですね。

ありがとうございます! 勉強になりました!

ところで、プログラムに興味はありませんか?

@saitamasaitamaっていう方がアルバイト募集しているようですよ! プログラムを書きたかったら是非!

C言語で分からないところがあるので質問しま

以下のコードで出力されるものが異なってしまうのは何故なんでしょうか?

#include <stdio.h>

void main(){
  char  s[6]="aiueo";
  char* p = &s[0];
  //p ="X\0";
  p="aaaaaa";
  printf("%s;%s \n",s,p);
}

よろしくお願いいたします。

2019-10-24

anond:20191024141214

const char text[] = "勝手解釈"; // FIXME: イコール勝手解釈を入れてもかまわないという記号ではないのでバグ

2019-07-03

anond:20190703172738

こりゃあたちの悪い書き方を知らんからカプセル化のありがたみがわかんないんだよなきっと

環境C#とかで、人物一人分の情報クラスを作る気があって、Personには体重とか身長とかがあって、みたいなわりときちんとした理屈があればああそれはね、それぞれプロパティにしとけば大丈夫、なんてので大丈夫

地獄はこうだ。

char Person[200];
/* 0から19までを名字に使います */
/* 20から38までを名前に使います */
/* 39は年号コードです 0: 明治、 */
/* 40は生年です */
/* ... */

そしてソースコードの中にいきなり現れる

Person[70] = 35; 

なにやってんだこれー!わかんねえぞこれー!

こういうことがないように、カプセル化するんだ。

2019-02-04

anond:20190204052226

しろなぜChar siuという英語でも中国語でも日本語でもない表記が通じると思った

anond:20190202200308

そのメニューチャーシューことなChar siuで通じそうだけど。

そもそもroastしてるんだっけ?

2018-12-24

anond:20181224075038

ほい。ごく簡単アニメーションを付けてみた


#include "stdafx.h"
#include <string.h>

int main()
{
	char buffer[47];

	strcpy(buffer, "%0sHelloWorld\n");

	for (int i = 0; true; i++)
	{
		int c = i % 16 ;
		if (c % 8 == c) {
			buffer[1] = '0' + c;
		}
		else {
			buffer[1] = '0' + 8 - (c-8);
		}
		

		printf(buffer," ");


	}

    return 0;
}

UTF8ってunsigned charで良いんだっけ?問題

https://qiita.com/yumetodo/items/54e1a8230dbf513ea85b]

から出発したこの話。あちこち議論されているようですな。

https://b.hatena.ne.jp/entry/s/qiita.com/yumetodo/items/54e1a8230dbf513ea85b]

https://togetter.com/li/1301253]

https://naruse.hateblo.jp/entry/2018/12/24/013446]

文字コードを多少かじった人間としては、また人類文字コードで混乱している。と思っていて議論が深まるのかなと思ったりします。

ただ、この話、見ててもやもやする所が一つありまして、UTF-8の1コードポイント=uint8_t=unsigned charでええんかいな。という点です。

文字コードを少しでも知っている人はUTF-8は1つのコードポイントを可変長のバイト列で表します。

よく言われるようにASCIIは1バイト、大体のCJKV文字は3バイト以上で表します((久々にWikipediaUTF-8見たら、UTF-8サロゲートペアってあるんだねー。罪深いわOrale〜))。最大6バイトで1つのコードポイントを表します。

まりですね、char16_tとかchar32_tとかがUTF-16UTF-32マッピングされるのは分かるんですよ。サロゲートペアは脇に置いておいて、コードポイントを表すのにはこの型(っつーか、データ長)を使うよってのが分かるので。

サロゲートペアを考えたときのUTF16も同じ考え方になるんですけど、UTF-8みたいな可変長のバイト長を取るエンコード方式は、結局、1「文字」を表す型(データ長)が定まらないんですよ。

char8_tをunsigned charの子クラスにしたとしてもそれって、UTF-8にとっては「1文字を表す型」ではないんですよ。「1文字を表すバイト列の単位の1つ」でしかないんですよ。(サロゲートペア考慮したときchar16_tも同様)。

意味論で言っちゃえばUTF-32に対してchar8_tを使っても意味は同じになるんですよ。UTF-32って8ビット×4で構成されるだけなんで。

なので、UTF-8で表される1文字を型で使いたかったらuint64_tの子クラス(本当は最大6バイトなので48でいいんだけど)にしなきゃダメなんじゃねぇの?もしくは最少8ビットで48ビット保証する型。とC++界隈ではない自分は思うわけです。

つーか、可変長文字って示すフラグになる型を作った方がまだマシじゃないのと思うのです。

2018-12-23

anond:20181223205616

ほいよ

	char format[50];
	strcpy(format, "%0s%s");
	for (int i = 0; i < 8; i++) {
		printf(format,"","Hello world\n" );
		format[1]++;
	}

スペース増田なら こんなかんじか?

ログイン ユーザー登録
ようこそ ゲスト さん