Translate

2016年8月21日日曜日

文字列関数から受け取る

#include 


#define ARRAY_LEN(ARR) (sizeof(ARR) / sizeof((ARR)[0]))


char* test1() {
 return "ABC";
}

void test2(char* str, int size) {
 char* temp = "DEF";
 strncpy_s(str, size, temp, strlen(temp));
}

void test3(char** str) {
 char* temp = "GHI";
 *str = temp;
}

int main() {
 char str2[32];
 char* str3 = NULL;
 memset(str2, '\0', ARRAY_LEN(str2));

 printf("%s\n", test1());

 test2(str2, ARRAY_LEN(str2));
 printf("%s\n", str2);

 test3(&str3);
 printf("%s\n", str3);
 return 0;
}

2016年3月20日日曜日

コンパイル

g++ -o コンパイル後のファイル名 コンパイル前のファイル名.cpp

gccのままコンパイルしようとしてエラー出てた・・・。

2016年3月19日土曜日

標準入力メモ

3 5 のような半角スペース区切りの文字列をcinで受け取るときは
半角スペースの手前で読み込みがストップするのね

#include 
using namespace std;

int main(){
 int a, b;
 cin >> a >> b;
 cout << "num1:" << a << " num2:" << b << endl; 
    return 0;
}

2015年11月24日火曜日

継承におけるStatic

class Sample{
 public static void main(String[] args){
  A obj = new C();
  obj.hoge();
 }
}

class A{
 static void hoge(){
  System.out.println("A");
 }
}

class B extends A{
 static void hoge(){
  System.out.println("B");
 }
}

class C extends B{
 static void hoge(){
  System.out.println("C");
 }
}

これは A


class Sample{
 public static void main(String[] args){
  B obj = new C();
  obj.hoge();
 }
}

class A{
 static void hoge(){
  System.out.println("A");
 }
}

class B extends A{
 static void hoge(){
  System.out.println("B");
 }
}

class C extends B{
 static void hoge(){
  System.out.println("C");
 }
}

これは B


class Sample{
 public static void main(String[] args){
  C obj = new C();
  obj.hoge();
 }
}

class A{
 static void hoge(){
  System.out.println("A");
 }
}

class B extends A{
 static void hoge(){
  System.out.println("B");
 }
}

class C extends B{
 static void hoge(){
  System.out.println("C");
 }
}

これは C

class Sample{
 public static void main(String[] args){
  A obj = new C();
  obj.hoge();
 }
}

class A{
 static void hoge(){
  System.out.println("A");
 }
}

class B extends A{
}

class C extends B{
}

これは A


class Sample{
 public static void main(String[] args){
  B obj = new C();
  obj.hoge();
 }
}

class A{
 static void hoge(){
  System.out.println("A");
 }
}

class B extends A{
}

class C extends B{
}

これも A


class Sample{
 public static void main(String[] args){
  C obj = new C();
  obj.hoge();
 }
}

class A{
 static void hoge(){
  System.out.println("A");
 }
}

class B extends A{
}

class C extends B{
}

これでも A

そういうものなのか・・・

例外

public class Sample {
 public static void main(String[] args){
  try{
   String[] string = new String[2];
   System.out.println(string[0]); //null
   System.out.println(string[1].toString()); //ここでエラー
  }catch(Exception e){
   System.out.println(e); //NullPointerException
  }
 }
}

nullを出力できるが toString()は実行時エラー