小编Edg*_*jān的帖子

在我将EditText设置为TYPE_NULL之后,我无法更改它的InputType

我将EditText的InputType设置为TYPE_NULL:

editText.setInputType(InputType.TYPE_NULL);
Run Code Online (Sandbox Code Playgroud)

我可以将它设置为TYPE_NULL,它有效!但是如果我想将InputType设置为其他东西,比如TYPE_CLASS_TEXT,它就不起作用了!

如何在代码中动态更改它?喜欢TYPE_NULL,那么再到TYPE_CLASS_TEXT和TYPE_NULL?

null android input-type-file android-edittext

3
推荐指数
1
解决办法
3858
查看次数

为什么对于volatile类型,std :: numeric_limits :: is_integer为false?

std::numeric_limits<volatile int>::is_integer
Run Code Online (Sandbox Code Playgroud)

评估为"假".

但为什么?不是volatile int仍然是整数类型?我想知道这里是否有某种深刻的含义.

UPD:编译器是来自Keil 4.72的armcc

c++ std volatile numeric-limits

3
推荐指数
1
解决办法
187
查看次数

C++中的std :: back_insert_iterator 17

如前所述, std::back_insert_iterator在C++之前,17继承自std::iteratorC++ 17.这种变化的原因是什么?

c++ iterator stl c++17

3
推荐指数
1
解决办法
179
查看次数

如何在C++ 98中按特定字段在QList中查找对象?

我有这个简单的类:

class SomeClass
{
   QString key;
   QString someData;
   int otherField;
   public:
      QString getKey() { return key };
};
Run Code Online (Sandbox Code Playgroud)

我有这个清单:

QList<SomeClass*> myList;
Run Code Online (Sandbox Code Playgroud)

我想检查 myList 是否包含 key = "mykey1" 的对象;

for(int i = 0; i < myList.size(); i++)
{
  if(myList.at(i)->getKey() == "mykey1") 
  { 
      //do something with object, that has index = i
  }
}
Run Code Online (Sandbox Code Playgroud)

是否有任何标准函数可以循环并返回此对象或索引或指针?,所以我不需要使用循环

c++ qt find qt-creator qlist

3
推荐指数
2
解决办法
1万
查看次数

使用 decltype 理解类型推导

考虑以下 C++ 代码:

#include <bits/stdc++.h>

template <typename T> void print_type() { std::cout << __PRETTY_FUNCTION__ << std::endl; }

class Base{
    int num;
public:
    Base() : num{0} {}

    friend std::ostream & operator << ( std::ostream& stream, Base & obiekt){
        stream<< "num: " << obiekt.num;
        return stream;
    }
};

int main(){
    Base a{};
    std::cout << a << std::endl;
    std::cout << "type of a: " << std::endl;
    print_type < decltype( a ) > (); 

    std::cout << "type of (a): " << std::endl;
    print_type < …
Run Code Online (Sandbox Code Playgroud)

c++ reference

3
推荐指数
1
解决办法
87
查看次数

数组大小调整和重新分配功能

现在我尝试提高我对Richard Reese的"理解和使用C指针"指针的认识.

这是本书中有关realloc()函数的一个代码示例.

char* getLine(void) {
    const size_t sizeIncrement = 10;
    char* buffer = malloc(sizeIncrement);
    char* currentPosition = buffer;
    size_t maximumLength = sizeIncrement;
    size_t length = 0;
    int character;

    if(currentPosition == NULL) { return NULL; }

    while(1) {
        character = fgetc(stdin);

        if(character == '\n') { break; }

        if(++length >= maximumLength) {
            char *newBuffer = realloc(buffer, maximumLength += sizeIncrement);

            if(newBuffer == NULL) {
                free(buffer);
                return NULL;
            }

            currentPosition = newBuffer + (currentPosition - buffer);
            buffer = newBuffer; …
Run Code Online (Sandbox Code Playgroud)

c arrays pointers

2
推荐指数
1
解决办法
203
查看次数

如何在C++中应用两个列表之间的交集?

我是C++ 列表的新手.

我有两个列表:list1list2.我需要在这些列表之间获得共同的元素.我怎么能得到这个?

c++ list

2
推荐指数
1
解决办法
2092
查看次数

给定一个不能复制的索引列表,将元素从向量复制到另一个元素的最有效方法

假设我有一个向量V = {5, 10, 2, 1, 6}和一个list of indices= {2, 3, 0}.现在,生成的数据结构U应该包含{10, 6}不一定按顺序排列的元素.天真的方法将具有时间复杂性O(n^2).我们可以更好吗?

c++ arrays stl list vector

2
推荐指数
1
解决办法
475
查看次数

如何从向量中获取真正的类实例名称?

我有课:

class IComponent{};
Run Code Online (Sandbox Code Playgroud)

我将其用作其他特定类的基类.

class First : public IComponent{public: void First();};   
class Second : public IComponent{public: void Second();};
Run Code Online (Sandbox Code Playgroud)

我有一个类Object,它有一个存储从IComponent继承的类的向量.

vector<IComponent*> vectorOfComponents;
Run Code Online (Sandbox Code Playgroud)

在这个类中,我有一个模板方法,可以向vector添加组件.

template<typename comp>
void AddComponent() {
    comp * c = new comp();
    getComponents().push_back(c);
}
Run Code Online (Sandbox Code Playgroud)

但是我也希望能够获得特定类型的组件,所以我创建了这个方法:

template<typename comp>
comp * GetComponent()
{
    comp component;
    for (int i = 0; i < GetComponentsCount(); i++)
        if (typeid(*getComponents()[i]).name() == typeid(component).name())
            return (comp*)getComponents()[i];
    return NULL;
}
Run Code Online (Sandbox Code Playgroud)

当我以后运行它:

    if (obj.GetComponent<FirstClass>() != NULL)
        std::cout << "isn't null\n";
    else
        std::cout << "is null\n";
Run Code Online (Sandbox Code Playgroud)

我知道vector可以保存IComponent继承类的推送实例,但它总是打印我为null,因为第一个typeid()显示我的IComponent,第二个显示我特定的继承组件.

如何从向量中获取特定类型?我试过多态,但是没有用,或者我做错了什么:

template<typename comp> …
Run Code Online (Sandbox Code Playgroud)

c++ inheritance vector c++11 c++14

2
推荐指数
1
解决办法
535
查看次数

使用"()"调用构造函数与"{}"不同

为什么用这两行代码打印出不同的结果?

std::cout << std::string{6, 's'}
std::cout << std::string(6, 's')
Run Code Online (Sandbox Code Playgroud)

c++ string constructor std c++14

2
推荐指数
1
解决办法
194
查看次数