• 【C/C++】知识点


    1.C++中的参数传递机制:值传递、指针传递、引用传递

    2.C++的内部类和外部类:

    一个讲得不错的博客,不过不让转载:C++内部类

    3.static 可以修饰局部变量、全局变量和函数。 不可修饰类!

    4.如果友元函数重载一个运算符时,其参数表中没有任何参数则说明该运算符是:出错!友元函数不是成员函数,必须要有参数。

    5.以下代码的输出结果是?

    main() { 
        char str[]="S65AB"; 
        printf("
    %d", sizeof(str)); 
    }

    答:5    65是一个8进制数字

    6.下面这段代码会打印出什么?

    class A
    {
    public:
        A()
        {
            printf("A ");
        }
        /*virtual*/
        ~A()
        {
            printf("deA ");
        }
    };
     
    class B
    {
    public:
        B()
        {
            printf("B ");
        }
        ~B()
        {
            printf("deB ");
        }
    };
     
    class C: public A, public B
    {
    public:
        C()
        {
            printf("C ");
        }
        ~C()
        {
            printf("deC ");
        }
    };
    int main()
    {
        A *a = new C();
        delete a;
        return 0;
    }
     
    答: 
    A B C deA 
    构造函数的执行先执行父类,再执行子类。析构顺序想反
    A B的析构函数不是虚函数,所以不会执行子类的虚函数
     
     
    7. Java, Object-C, C#都是类C语言, python不是
     
    8.
    在linux下64位c程序,请计算输出的三个sizeof分别是()
    void func(char str_arg[100])
    {
         cout<<sizeof(str_arg)<<endl;
    }
    int main(int argc,char* argv[])
    {
         char str[]="Hello";
         char *p=str;
         cout<<sizeof(str)<<endl;
         cout<<sizeof(p)<<endl;
         func("test");
         return 0;
    }

    6,8,8      64位的指针大小为8, str_arg做形参是一个指针。

     
    9. 重载要求输入参数个数或者类型发生变化。只有返回值类型不同,不算重载!!
     
    10.下面代码的输出:
    char *c[] = { "ENTER", "NEW", "POINT", "FIRST" }; 
    char **cp[] = { c+3, c+2, c+1, c }; 
    char ***cpp = cp; 
     
    int main(void)
    { 
        printf("%s", **++cpp); 
        printf("%s", *--*++cpp+3); 
        printf("%s", *cpp[-2]+3); 
        printf("%s
    ", cpp[-1][-1]+1); 
        return 0;
    }

    答:POINTERSTEW   注意++, -- , *(取值) 的优先级都大于 加减法

     
     
  • 相关阅读:
    Spark Mllib里的向量标签概念、构成(图文详解)
    Spark Mllib里的本地向量集(密集型数据集和稀疏型数据集概念、构成)(图文详解)
    Spark Mllib里的Mllib基本数据类型(图文详解)
    [转]Debugging into .NET Core源代码的两种方式
    [转]在ASP.NET Core使用Middleware模拟Custom Error Page功能
    [转]Asp.net MVC中的ViewData与ViewBag
    [转]细说 ASP.NET Cache 及其高级用法
    [转]分布式中使用Redis实现Session共享(二)
    [转]Asp.net Core 使用Redis存储Session
    [转]JS跨域解决方式 window.name
  • 原文地址:https://www.cnblogs.com/dplearning/p/4654909.html
Copyright © 2020-2023  润新知