zoukankan      html  css  js  c++  java
  • C++笔试题库之编程、问答题 300~305道

    301. 以下代码有什么问题?

    cout << (true?1:”1″) << endl;

    答:三元表达式“?:”问号后面的两个操作数必须为同一类型。

     

    302.以下代码能够编译通过吗,为什么?

    unsigned int const size1 = 2;

    char str1[ size1 ];

    unsigned int temp = 0;

    cin >> temp;

    unsigned int const size2 = temp;

    char str2[ size2 ];

    答:str2定义出错,size2非编译器期间常量,而数组定义要求长度必须为编译期常量。

     

    303.以下反向遍历array数组的方法有什么错误?

    vector array;

    array.push_back( 1 );

    array.push_back( 2 );

    array.push_back( 3 );

    for( vector::size_type i=array.size()-1; i>=0; –i ) // 反向遍历array数组

    {

    cout << array[i] << endl;

    }

     

    答:首先数组定义有误,应加上类型参数:vector array。其次vector::size_type被定义为unsigned int,即无符号数,这样做为循环变量的i为0时再减1就会变成最大的整数,导致循环失去控制。

     

    304. 以下代码中的输出语句输出0吗,为什么?

    struct CLS

    {

    int m_i;

    CLS( int i ) : m_i(i) {}

    CLS()

    {

    CLS(0);

    }

    };

    CLS obj;

    cout << obj.m_i << endl;

    答:不能。在默认构造函数内部再调用带参的构造函数属用户行为而非编译器行为,亦即仅执行函数调用,而不会执行其后的初始化表达式。只有在生成对象时,初始化表达式才会随相应的构造函数一起调用。

  • 相关阅读:
    python---redis缓存页面前戏之剖析render源码
    python---redis的python使用
    python---redis中文操作与系统中文检测
    python---redis在windows安装以及测试
    python---基于memcache的自定义session类
    python---memcache使用操作
    python---memcache基本使用以及内部原理
    googlecast
    Android-L-Samples
    libsuperuser
  • 原文地址:https://www.cnblogs.com/lpxblog/p/5278269.html
Copyright © 2011-2022 走看看